From: Chip Salzenberg Date: Tue, 1 Apr 1997 00:01:35 +0000 (+1200) Subject: Document eval vs. sub in Benchmark X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=80eab818475f84cd8786effbe5e0c40e35810af9;p=p5sagit%2Fp5-mst-13.2.git Document eval vs. sub in Benchmark (this is the same change as commit 446534a1e286d6fde0fd79424865d3cf1291546b, but as applied) --- diff --git a/lib/Benchmark.pm b/lib/Benchmark.pm index a3c8544..fa5c9e8 100644 --- a/lib/Benchmark.pm +++ b/lib/Benchmark.pm @@ -176,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. @@ -258,7 +262,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)",