I tend to write my uses of Benchmark.pm like:
use Benchmark 'cmpthese'; # ... cmpthese( -3, { aSimple => \&Simple, bSimple => \&Simple, aShort => \&Short, bShort => \&Short, aSweet => \&Sweet, bSweet => \&Sweet, } );
which prevents a performance bias based on execution order from going unnoticed. It also prevents me from getting excited about a 10% difference between Simple and Sweet when there is an 8% difference between aSweet and bSweet (which are the same code).
I recall seeing that some platforms give the performance boost to the first item run while others give the boost to the last item run, though that recollection is from so long ago that I wouldn't put much stock in it; just something to look for...
- tye
In reply to Re: Benchmark.pm: Does subroutine testing order bias results? (twice is nice)
by tye
in thread Benchmark.pm: Does subroutine testing order bias results?
by jkeenan1
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |