develooper Front page | perl.perl6.internals | Postings from July 2002

Re: perl5 regexp optimiser (was Re: [perl #15425] Regex bugfix and speed-up)

Thread Previous
Mark Kvale
July 23, 2002 20:27
Re: perl5 regexp optimiser (was Re: [perl #15425] Regex bugfix and speed-up)
Message ID:
On Tuesday 23 July 2002 02:43 pm, you wrote:
> On Tue, Jul 23, 2002 at 08:54:29PM +0000, Angel Faus wrote:
> > As a result of this bugfix, very simple regular expressions get a
> > noticable speed-up.
> >
> > For example, this is the data of matching the pattern /^zza/ against
> > "zzabbbbbbbbbcdcdcdcdzz" 100.000 times, with the loop inside parrot
> > (or perl5)
> >
> > parrot, without the patch         12.834 seconds
> > parrot, with the patch               1.216 seconds
> >
> > perl 5                                      0.21 seconds
> >
> > This is of course not representative data, the speed-up is much
> > smaller for the average regex.
> I cannot remember if I asked this before:
> As perl5 gets a good kick of its regexp speed from the optimiser, it makes
> it very hard to benchmark parrot's regexp engine against perl's engine.
> Is there an easy way any regexp internals guru can suggest to patch perl5's
> regexp code to disable the optimiser? This would make it much easier to get
> meaningful test result comparisons between perl5 and parrot, and also give
> an idea of what sort of regexps in parrot will gain from future work on
> parrot regexp optimisers?
> Nicholas Clark

A few months ago I wrote regex implementations in Parrot that compiled and 
executed regexes similar to Henry Spencer's original regex implementation, 
and then tested the Parrot implementations against the Spencer code with 
optimizations turned off. At the time, parrot implementations ran between 
2-30 times as slow as the Spencer code, depending in the task. This is 
relevant to Perl5, as Perl5 regexes are derived from the Spencer code.

The work should be in the archives.


Thread Previous Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About