Hi everybody, I started to implement the basic cellular automata models into julia and the current work can be found from here CellularAutomata.jl. <https://github.com/natj/CellularAutomata.jl>After trying few things I was able to drop the evaluation time of elementary cellular automaton of 1000 generations from ~10 seconds to 2.2s. This is however still quite lousy compared to Mathematica that is able to produce the same in 0.02s. CAs are of course heavily optimized in Mathematica because Wolfram has done his extensive research of them, but still I think Julia should be able to squeeze a little better time.
After running the Profiler, i found that the bottle neck is the string() command that is used like this str = string(cells[i-1,j-1], cells[i-1,j], cells[i-1,j+1]) ind = parseint(str, 2) to join three numbers together and change it into binary form. Is there are better way to join the digits together than first go into string representation and then back to integer?