From: Abigail Date: Thu, 7 Sep 2000 15:03:20 +0000 (-0400) Subject: Message-ID: <20000907190320.888.qmail@foad.org> X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c5d572932fd269096c2a3545999d11f5ab9563b7;p=p5sagit%2Fp5-mst-13.2.git Message-ID: <20000907190320.888.qmail@foad.org> p4raw-id: //depot/perl@7038 --- diff --git a/lib/Benchmark.pm b/lib/Benchmark.pm index 3c10a5b..b557be3 100644 --- a/lib/Benchmark.pm +++ b/lib/Benchmark.pm @@ -552,7 +552,9 @@ sub countit { # accuracy since we're not couting these times. $n = int( $tpra * 1.05 * $n / $tc ); # Linear approximation. my $td = timeit($n, $code); - $tc = $td->[1] + $td->[2]; + my $new_tc = $td->[1] + $td->[2]; + # Make sure we are making progress. + $tc = $new_tc > 1.2 * $tc ? $new_tc : 1.2 * $tc; } # Now, do the 'for real' timing(s), repeating until we exceed @@ -581,6 +583,7 @@ sub countit { $ttot = $utot + $stot; last if $ttot >= $tmax; + $ttot = 0.01 if $ttot < 0.01; my $r = $tmax / $ttot - 1; # Linear approximation. $n = int( $r * $ntot ); $n = $nmin if $n < $nmin;