There's a very interesting conversation going on over on Stardot as ever more performance is squeezed out of a Mandelbrot explorer. Initially with 8-bit fixed point and eventually with 13-bit fixed point, eventually the program ends up just as fast but with no artefacts and more zoom capability. A Mandelbrot in 12 seconds is a lot better than we're used to on a 6502 platform from the 1980s!
Some links:
12-second Mandelbrot rendering on the BBC Master! (Stardot thread)
A twelve second Mandelbrot on the BBC Micro (Blog post)
Rapidly rendering fractals on stupidly unsuitable machines (Follow-up blog post)
Some notes:
- links to several multiplication tactics
in this post-
thread about fast BCD multiplication
- multiplying using tables of squares (or quarter-squares) is pretty fast
- 32k tables used in this case (Acorn's BBC Master used as a 48k RAM machine)
- complex multiplication can be done using only 3 multiplications
- squaring is slightly cheaper than multiplication in general
- the mandelbrot mapping can be done with just 3 real-valued squarings
- you can run the program in your browser with
this link- once you have fast multiplication, optimisation focusses on drawing the graphics
Here's an animated image of the 12 second Mandelbrot (ahem, an 18 second version):