/$variable/
####
/$variable/o
####
use Benchmark;
my $qr_regex = qr/ab{1,}c{1,}/;
my $str_regex = "ab{1,}c{1,}";
my $string = "asdabdabc";
timethese(10000000, {
'string' => sub { $string =~ /$str_regex/ },
'string/o' => sub { $string =~ /$str_regex/o },
'qr' => sub { $string =~ /$qr_regex/ },
});
####
Benchmark: timing 10000000 iterations of qr, string, string/o...
qr: 11 wallclock secs (10.60 usr + 0.00 sys =
10.60 CPU) @ 943396.23/s (n=10000000)
string: 11 wallclock secs (11.80 usr + 0.00 sys =
11.80 CPU) @ 847457.63/s (n=10000000)
string/o: 7 wallclock secs ( 9.40 usr + 0.02 sys =
9.42 CP U) @ 1061571.13/s (n=10000000)