We don't bite newbies here... much | |
PerlMonks |
Re^4: Efficient bit-twiddling in Perl.by BrowserUk (Patriarch) |
on Mar 01, 2013 at 12:40 UTC ( [id://1021241]=note: print w/replies, xml ) | Need Help?? |
Your benchmark is not very realistic. As $n doesn't vary, you are completely ignoring the effect of the CPU cache misses that the lookup table may introduce. The version of my benchmark I posted was the one I use -- in conjunction with -N=1 and uncommenting the print "@_"; -- to check that the output from all the methods is correct. For timing runs, I operate on the loop counter $_, which when -N=10e6, is enough to exercise the full range of the table 38 times. And I still get 20%+ improvement from the AoAs lookup: <Reveal this spoiler or all in this thread>
Results
In general, I've found it very difficult to detect, much less measure any discernible effect from cpu caching in perl code on my machine. It shows up readily in tight loops in C code, but Perl's memory allocation is so cache unfriendly that it rarely seems to come into play. I would be interested to see the output from the above on your machine if you have a coupe of minutes. With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
In Section
Seekers of Perl Wisdom
|
|