>> |
Anonymous
>>739702 Dunno, all the desktop fractal software seems to be kinda bloaty and focuses on usability (a nice GUI interface etc.) than speed.
I just excavated my old code and ran it, 640x480 julia set with 90 iterations takes about 50ms on a Dual-Core opteron.
One problem with my code was overhead - Setting up the threads and reserving the POSIX shared memory objects (which I used for inter-process data sharing) takes some time, so the multi-thread implementation is actually slower than a single-thread implementation for small pictures like this 640x480 example.
Multi-threading really pays of for larger images though - a 10000x10000 image (100 megapixels) takes only about 10 seconds (200 times as long as the 640x480 did), even though it's more than 325 times large in size - a 60% increase in efficiency.
The other problem is storing the results - You can't parallelize I/O on most systems and image compression is mostly single-CPU, too. So saving the results in PNG format actually took longer than calculating them.
PS.: I would put my old fractal stuff online but it's mostly undocumented and half-finished so it wouldn't help much. Oh, and it has no guy either.
PPS: Of course the performance depends on fractal parameters. Depending on what parameters i choose for the set it can become up to 5 times faster, the examples above were pretty much worst-case (The whole computed area consists of points that require the full 90 iterations to be run). (in b4 over 9000 spelling errors, g2g now)
|