pod2html mangles C<&foo(42);>
[p5sagit/p5-mst-13.2.git] / lib / Benchmark.pm
index c749116..13acf86 100644 (file)
@@ -14,8 +14,15 @@ timeit - run a chunk of code and see how long it goes
 
     timethis ($count, "code");
 
+    # Use Perl code in strings...
     timethese($count, {
        'Name1' => '...code1...',
+       'Name2' => '...code2...',
+    });
+
+    # ... or use subroutine references.
+    timethese($count, {
+       'Name1' => sub { ...code1... },
        'Name2' => sub { ...code2... },
     });
 
@@ -169,6 +176,10 @@ for Exporter.
 
 =head1 CAVEATS
 
+Comparing eval'd strings with code references will give you
+inaccurate results: a code reference will show a slower
+execution time than the equivalent eval'd string.
+
 The real time timing is done using time(2) and
 the granularity is therefore only one second.
 
@@ -184,8 +195,7 @@ code and therefore the difference might end up being E<lt> 0.
 
 =head1 AUTHORS
 
-Jarkko Hietaniemi E<lt>F<Jarkko.Hietaniemi@hut.fi>E<gt>,
-Tim Bunce E<lt>F<Tim.Bunce@ig.co.uk>E<gt>
+Jarkko Hietaniemi <F<jhi@iki.fi>>, Tim Bunce <F<Tim.Bunce@ig.co.uk>>
 
 =head1 MODIFICATION HISTORY
 
@@ -251,7 +261,7 @@ sub timestr {
     my($pt, $ct, $t) = ($tr->cpu_p, $tr->cpu_c, $tr->cpu_a);
     $f = $defaultfmt unless defined $f;
     # format a time in the required style, other formats may be added here
-    $style = $defaultstyle unless defined $style;
+    $style ||= $defaultstyle;
     $style = ($ct>0) ? 'all' : 'noc' if $style eq 'auto';
     my $s = "@t $style"; # default for unknown style
     $s=sprintf("%2d secs (%$f usr %$f sys + %$f cusr %$f csys = %$f cpu)",