[Haskell-cafe] Counting bits: Sanity Check

David F. Place d at vidplace.com
Wed Apr 12 16:55:05 EDT 2006


On Apr 12, 2006, at 3:30 PM, Daniel McAllansmith wrote:

> Averages of user time for three runs on an Athlon64 running 64bit  
> linux:
>
> kern	0.29700
> ones32 	0.30733
> table32	0.37333
> table 	0.38400
>
> I ran a whole lot more of kern and ones32... kern was consistently  
> faster than
> ones32.  Curious.

Yes, especially curious since the algorithm is taken from AMD's  
optimization guide for the Athlon and Opteron series.  I'm not good  
enough at reading core syntax to be able to see what GHC is doing  
with it.

I wonder how this other crazy algorithm I found will work on your 64  
bit omputer.   It is much slower on my 32 bit PPC powerbook for  
obvious reasons.   If you'd like to try it, I'll include an updated  
BitTwiddle.hs .

Usage:
time ./bits 2000000 3000000 64

-------------- next part --------------
A non-text attachment was scrubbed...
Name: BitTwiddle.hs
Type: application/octet-stream
Size: 3731 bytes
Desc: not available
Url : http://www.haskell.org//pipermail/haskell-cafe/attachments/20060412/3b2bda99/BitTwiddle.obj
-------------- next part --------------

--------------------------------
David F. Place
mailto:d at vidplace.com



More information about the Haskell-Cafe mailing list