in reply to Re^3: perl regex
in thread perl regex
Just to make the point about capturing being expensive.
The following two samples do the same thing, and when the string haystack fails to contain the needle, the capturing version is 15% slower; but the real difference is when the haystack does contain the needle, when it takes nearly 5 times as long!:
[0]{} Perl> $s='the quick brown fox jumps of the lazy dog'; cmpthese - +1,{a=>q[my($f)=$s=~m[(need)];], b=>q[my $f= $s=~ m[need] ? 'need' : u +ndef; ] };; Rate a b a 2902896/s -- -12% b 3289193/s 13% -- [0]{} Perl> $s='the quick brown fox jumps need of the lazy dog'; cmpth +ese -1,{a=>q[my($f)=$s=~m[(need)];], b=>q[my $f= $s=~ m[need] ? 'need +' : undef; ] };; Rate a b a 517876/s -- -83% b 3000131/s 479% --
|
|---|