Just out of curiosity, I benchmarked this.
#!/usr/bin/perl -w
use Benchmark;
$email = '<silvers@op.net>';
Benchmark::cmpthese(100000000,
{
'.*' => sub { $email =~ m/.*?\<(.*?)\>/ },
'^>' => sub { $email =~ m/<([^>]+)>/ }
}
);
Results:
Benchmark: timing 100000000 iterations of .*, ^>...
.*: 1437 wallclock secs (1432.85 usr + 0.06 sys = 1432.91 CPU
+) @ 69788.05/s (n=100000000)
^>: 645 wallclock secs (645.23 usr + 0.06 sys = 645.29 CPU) @
+ 154969.08/s (n=100000000)
Rate .* ^>
.* 69788/s -- -55%
^> 154969/s 122% --
- FrankG |