[Haskell-cafe] Optimizing cellular automata evaluation (round 2)
Justin Bailey
jgbailey at gmail.com
Fri Nov 30 11:18:16 EST 2007
On Nov 29, 2007 4:45 PM, Felipe Lessa <felipe.lessa at gmail.com> wrote:
> Why don't you use an UArray of Bools? They're implemented as bit
> arrays internally, AFAIK (e.g. see
> http://www.haskell.org/haskellwiki/Shootout/Nsieve ). And then you
> would get rid of a lot of shifts and masks in your code -- clearer and
> faster, the Haskell Way (TM).
fill, fillE and fillS are all looking at a integer value, and not
doing any array access. I'm skeptical that an array of bools, even if
its internally a mask on an int, could be faster.
> Well, I guess it would be faster, but I can't really tell. Could you
> provide a main function implementing an "use case" for benchmark?
Sure, here is one
http://hpaste.org/4151#a1
Compile with:
ghc -O2 --make Test.hs
It runs a random rule for 1000 steps.
Justin
More information about the Haskell-Cafe
mailing list