in reply to Re^2: Ref to hash entries are faster?
in thread Ref to hash entries are faster?

Your benchmark is including the loop overhead - which is appropriate for "real" code, but dilutes the difference between the two access methods. Altering the appropriate parts of your code to:

my $lookup = ' _____ '; $lookup =~ s/_____/'$a = $contracts{1}[0];' x NUM_ACCESSES/e; my $refit = ' my $r = $contracts{1}; _____ '; $refit =~ s/_____/'$a = $r->[0];' x NUM_ACCESSES/e;

and using your last test set I get:

Rate lookup refit lookup 245666/s -- -32% refit 360597/s 47% --

which is double the difference shown with the loop overhead included, and is comparable with the result from my benchmark.

Ain't benchmarks fun, almost as good as statictics! :-D


DWIM is Perl's answer to Gödel