#!/usr/bin/perl
use strict;
use warnings;
use Time::HiRes qw(gettimeofday);
for my $n (1 .. 25) {
my @start = gettimeofday;
$_ = 'a' x $n;
/(?:a?){$n}a{$n}/;
my @end = gettimeofday;
my $elapsed = $end[0] - $start[0] + 10**-6 * ($end[1] - $start[1]);
print "$elapsed\n";
}
####
4.5e-005
3.2e-005
3.1e-005
3.4e-005
3.6e-005
4.2e-005
5.4e-005
8.1e-005
0.00013
0.000232
0.000448
0.000899
0.001696
0.003383
0.006309
0.012884
0.026508
0.053743
0.108439
0.212322
0.431355
0.890586
1.703086
3.468719
7.17187
####
#!/usr/bin/perl
use strict;
use warnings;
use Time::HiRes qw(gettimeofday);
for my $n (1 .. 25) {
my @start = gettimeofday;
$_ = 'a' x $n;
/a{0,$n}a{$n}/;
my @end = gettimeofday;
my $elapsed = $end[0] - $start[0] + 10**-6 * ($end[1] - $start[1]);
print "$elapsed\n";
}
####
4.2e-005
2.9e-005
2.8e-005
2.9e-005
2.8e-005
2.9e-005
2.9e-005
2.9e-005
2.9e-005
2.8e-005
2.8e-005
2.9e-005
2.9e-005
2.9e-005
2.9e-005
2.9e-005
2.9e-005
2.9e-005
2.9e-005
3e-005
2.9e-005
2.9e-005
3e-005
3e-005
2.9e-005