On Thursday 04 December 2003 21:51, Michael G Schwern wrote:
> But it could be.  It would be nice to have a test like "make sure the
> hand optimized version is faster than the unoptimized version" or "make sure
> the XS version is faster than the Perl version".

Yeah - this would probably be useful.

> Another useful sort of test would be "make sure this function runs in less
> than N perlmips time" where a perlmip is some unit of CPU time calibrated
> relative to the current hardware.  So a pmip on machine A would be
> roughly twice as long as a pmip on a machine that's twice as fast.
> This enables us to test "make sure this isn't too slow".

Not so yeah - just like the mip, the pmip would be a bit to elusive and ever 
changing for this to work quite as well as we'd like.

Anyway to do these you can do
my $res = timethese(10000, {a => $a_code, b => $b_code}, "none");

which will produce no output and $res will contain all the benchmark 
information and you can then perform whatever tests you like on it.

If it's exists, Test::Benchmark should support something like

is_faster(10000, $XS_code, $perl_code, "XS is faster")

and maybe

is_n_times_faster(10000, 5, $XS_code, $perl_code, "XS is 5 times faster")

But I don't think that was what Jim wanted, it seemed like he was trying to 
display benchmark info purely for informational purposes,

F

Reply via email to