Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re^2: Efficient bit-twiddling in Perl.

by BrowserUk (Pope)
on Mar 01, 2013 at 13:39 UTC ( #1021263=note: print w/ replies, xml ) Need Help??

in reply to Re: Efficient bit-twiddling in Perl.
in thread Efficient bit-twiddling in Perl.

I fed your JustShift solution (a cute bit of lateral thinking :), into my benchmark and on my hardware it is a tad slower than shift&and:

C:\test>1021064 Shift&and took: 0.000000611130 seconds justshift took: 0.000000651048 seconds Lookup took: 0.000000488745 seconds Lookup2 took: 0.000000706896 seconds (un)pack took: 0.000007464467 seconds

I was a bit surprised by that as both shift & and are designated as single clock operations on my cpu. I guess the difference is in the perl operations that overlay them.

I follow your drift regarding the effect that assignment and stack handling can have on a benchmark of this nature; but the values are re-used several times through the rest of the body of the inner loop, so the assignment is a constant factor that I've chosen to exclude.

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.
Comment on Re^2: Efficient bit-twiddling in Perl.
Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1021263]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (2)
As of 2016-06-01 04:58 GMT
Find Nodes?
    Voting Booth?

    No recent polls found