in reply to Re: About Greedy and Non-Greedy Regular Expressions
in thread About Greedy and Non-Greedy Regular Expressions
The result is:$ perl -MBenchmark=cmpthese -ne'chomp; $allwords.="/$_"; END{ cmpthese(-3, { "Greedy"=>sub { $allwords=~m{/abbreviate.+/initial/}; }, "Nongreedy"=>sub { $allwords=~m{/abbreviate.+?/initial/}; } } ); }' /usr/dict/words
Rate Greedy Nongreedy
Greedy 439/s -- -22%
Nongreedy 563/s 28% --
Of course, to repeat this test you'll need /usr/dict/words, and it has to contain abbreviate and initial.
These results are with perl 5.8.7 - I'd be curious to see what happens with 5.8.10, since RE improvements could happen any time.
|
|---|