Hi Craig, If you haven't yet, you should read through the Performance Tips section of the manual.
One easy thing you should try is to wrap the main code in a function. While this will hopefully change before v1.0, Julia has a hard time optimizing code in global scope. Cheers, Kevin On Tuesday, January 6, 2015, Craig Bosma <[email protected]> wrote: > Hi, > > I've been playing with Julia lately by creating a little toy mandelbrot > set computation, and trying to optimize it for comparison with a C++ > version. I've also been trying to parallelize it to learn more about > Julia's parallel computing model and to compare with parallel > implementations in C++. My latest implementation can be found in this > gist. <https://gist.github.com/bosmacs/eb329dc8360dbf1282b1> > > On my machine, this runs in about 50 seconds, with (23622108264 bytes > allocated, 20.50% gc time) when executed serially. Those allocations seem > excessive to me, but I'm not sure what to do about it. With 8 workers on 4 > cores, I can cut that down to about 20 seconds. On the same machine, my C++ > serial/parallel implementations run in ~8s/2s. I expected the difference to > be a less than a full order of magnitude, so I guess I'm wondering if there > are any obvious performance problems with my implementation. If anyone has > any suggestions of how to improve my code, I'd sure like to hear about it. > > Thanks, > Craig >
