SiSoft Sandra Mandelbrot
Next up is SiSoft's Sandra system diagnosis program, which includes a number of different benchmarks. The one of interest to us is the "multimedia" benchmark, intended to show off the benefits of "multimedia" extensions like MMX and SSE/2. According to SiSoft's FAQ, the benchmark actually does a fractal computation:
This benchmark generates a picture (640x480) of the well-known Mandelbrot fractal, using 255 iterations for each data pixel, in 32 colours. It is a real-life benchmark rather than a synthetic benchmark, designed to show the improvements MMX/Enhanced, 3DNow!/Enhanced, SSE(2) bring to such an algorithm.
The benchmark is multi-threaded for up to 64 CPUs maximum on SMP systems. This works by interlacing, i.e. each thread computes the next column not being worked on by other threads. Sandra creates as many threads as there are CPUs in the system and assigns [sic] each thread to a different CPU.
We're using the 64-bit port of Sandra. The "Integer x16" version of this test uses integer numbers to simulate floating-point math. The floating-point version of the benchmark takes advantage of SSE2 to process up to eight Mandelbrot iterations at once.
The Core microarchictecture's rich execution resources are on display here. Netburst-based chips perform relatively well in these tests, probably because they are executing what I believe is a fairly simple, well-optimized program loop at a very high clock speed. The Core 2 processors, however, have the ability to handle four 128-bit floating-point operations per cycle, or eight 64-bit floating-point operations per cycle, which is considerably more work per clock than competing microarchitectures. The E6600 at 2.4GHz doesn't quite double the performance of the X2 4600+ at 2.4GHz, but it's close.