Allow several arguments to display().
[p5sagit/p5-mst-13.2.git] / lib / Benchmark.pm
index 51ff8b3..3f8eb62 100644 (file)
@@ -6,6 +6,8 @@ Benchmark - benchmark running times of Perl code
 
 =head1 SYNOPSIS
 
+    use Benchmark qw(:all) ;
+
     timethis ($count, "code");
 
     # Use Perl code in strings...
@@ -305,29 +307,39 @@ accuracy and does not usually noticably affect runtimes.
 
 For example,
 
-   use Benchmark;$x=3;cmpthese(-5,{a=>sub{$x*$x},b=>sub{$x**2}})
+    use Benchmark qw( cmpthese ) ;
+    $x = 3;
+    cmpthese( -5, {
+        a => sub{$x*$x},
+        b => sub{$x**2},
+    } );
 
 outputs something like this:
 
    Benchmark: running a, b, each for at least 5 CPU seconds...
-           a: 10 wallclock secs ( 5.14 usr +  0.13 sys =  5.27 CPU) @ 3835055.60/s (n=20210743)
-           b:  5 wallclock secs ( 5.41 usr +  0.00 sys =  5.41 CPU) @ 1574944.92/s (n=8520452)
-         Rate    b    a
-   b 1574945/s   -- -59%
-   a 3835056/s 144%   --
+          Rate    b    a
+   b 1559428/s   -- -62%
+   a 4152037/s 166%   --
+
 
 while 
 
-   use Benchmark;
-   $x=3;
-   $r=timethese(-5,{a=>sub{$x*$x},b=>sub{$x**2}},'none');
-   cmpthese($r);
+    use Benchmark qw( timethese cmpthese ) ;
+    $x = 3;
+    $r = timethese( -5, {
+        a => sub{$x*$x},
+        b => sub{$x**2},
+    } );
+    cmpthese $r;
 
 outputs something like this:
 
-          Rate    b    a
-   b 1559428/s   -- -62%
-   a 4152037/s 166%   --
+    Benchmark: running a, b, each for at least 5 CPU seconds...
+             a: 10 wallclock secs ( 5.14 usr +  0.13 sys =  5.27 CPU) @ 3835055.60/s (n=20210743)
+             b:  5 wallclock secs ( 5.41 usr +  0.00 sys =  5.41 CPU) @ 1574944.92/s (n=8520452)
+           Rate    b    a
+    b 1574945/s   -- -59%
+    a 3835056/s 144%   --
 
 
 =head1 INHERITANCE
@@ -392,8 +404,9 @@ use Exporter;
 @EXPORT=qw(timeit timethis timethese timediff timestr);
 @EXPORT_OK=qw(timesum cmpthese countit
              clearcache clearallcache disablecache enablecache);
+%EXPORT_TAGS=( all => [ @EXPORT, @EXPORT_OK ] ) ;
 
-$VERSION = 1.01;
+$VERSION = 1.03;
 
 &init;
 
@@ -677,7 +690,8 @@ sub timethese{
     print " ", join(', ',@names) unless $style eq 'none';
     unless ( $n > 0 ) {
        my $for = n_to_for( $n );
-       print ", each for at least $for CPU seconds" unless $style eq 'none';
+       print ", each" if $n > 1 && $style ne 'none';
+       print " for at least $for CPU seconds" unless $style eq 'none';
     }
     print "...\n" unless $style eq 'none';