Next Making Programs Faster 28

Simple Benchmarker

        substr($s, 0, 3) = "abc"
        $s =~ s/.../abc/s
     my $N = shift || 1000000;
     my $s = shift || "The quick brown fox jumps over the lazy dog";
     my ($su, $ss) = times;
     for (1 .. $N) { substr($s, 0, 3) = "abc" }
     my ($eu, $es) = times;
     my ($tu, $ts) = ($eu - $su, $es - $ss);
     my $total = $tu + $ts;
     printf "%20s %5.2f %5.2f %6.2f\n", "substr", $tu, $ts, $total;
     my ($su, $ss) = times;
     for (1 .. $N) { $s =~ s/.../abc/s }
     my ($eu, $es) = times;
     my ($tu, $ts) = ($eu - $su, $es - $ss);
     my $total = $tu + $ts;
     printf "%20s %5.2f %5.2f %6.2f\n", "regex", $tu, $ts, $total;
              substr  5.04  0.01   5.05
               regex  5.71  0.00   5.71

Next Copyright © 2003 M. J. Dominus