Don't worry, I had that happen on mine as well, but in every case, the my was a percentage faster and the ref was a percentage slower and everything else just hummed around in the middle. The point wasn't the benchmark. The point was that declaring aliases or setting up your own constant subs, are not that much slower than my'ing a variable or local'ing a variable.

The point of benchmark is ballpark, and all of the types are in the ball park.

Ahhhh -- but run that again. New values. Perils of Benchmark {grin}. On our system here (6 to 7 developers per box) the load changes enough that even a "stable" test will show different outputs.

Something that would be nice for benchmark to do is to randomize the order in which the tests are run -- pick one of the keys randomly each time. This would probably make the percentages a little bit more constant.

Still though, kind of funny that things are in the ball park of a literal value.