|Think about Loose Coupling|
Re^10: The Most Essential Perl Development Tools Today (imperceptible)by tye (Cardinal)
|on Jan 10, 2013 at 01:03 UTC||Need Help??|
Look Lisa, I found numbers on the Internet from a computer. They must be true. I win. --Homer
The warnings are there to tell you that Benchmark tried to "eliminate overhead" for you but doing so showed that the run times were so short as to not matter. The differences, doubly so.
If you modify Benchmark to stop inflating the differences via subtracting minimal overhead, you get a somewhat more realistic picture:
So, if you have subroutines that do nothing but trivially look up the 0 stored in the size field of the @_ array, then you can make those trivial subroutines run about 5% faster when you actually have to worry about bothering to call them (doing nothing at all other than calling them over and over again 2e6 times -- in the most efficient way the authors of Benchmark.pm could figure out, ways that just throw away any useful work from the subroutines).
If you pretend that you can even do the impossible and you have a useful script despite it doing almost nothing at all else besides calling those trivial subroutines as efficiently as possible... then you can reduce your run-time from 5 seconds to 4.75 seconds. And nobody will notice.
In the real world, the difference would be even tinier and nobody could notice even if they tried very hard to.
You might as well make your style decisions based on what colors you see when you press your fingers into your closed eyes as on this "speed-up".
s/your press/you press/ done after it was quoted below.