Hi folks,

I was very interesseted in the floating point copro in the N800 cpu and did some tests with a progamm which calculates the mandelbrod set and outputs it via SDL. I put this program online on bomberman.garage.maemo.org. No installer, you have to run the benchmarks on xterm or via ssh (so did I).

// Results of Mandelbrot set on N800 800x480 pixels, 100 interations
// real -1 to 2
// imag -1.3 to 1.2

// dbl - uses doubles
// flt - uses floats
// vfp - compiled with "-mfpu=vfp -mfloat-abi=softfp"

// All binarys are compiled with -O2

// Results with full PixelDraw and SDL_Update every pixel
./mandel_armel_dbl.bin - Time: 178.284 seconds
./mandel_armel_dbl_vfp.bin - Time: 151.816 seconds
./mandel_armel_flt.bin - Time: 169.486 seconds
./mandel_armel_flt_vfp.bin - Time: 152.148 seconds

// Results with full PixelDraw and _NO_ SDL_Update.
./mandel_armel_dbl.bin - Time: 26.377 seconds
./mandel_armel_dbl_vfp.bin - Time: 1.808 seconds
./mandel_armel_flt.bin - Time: 19.813 seconds
./mandel_armel_flt_vfp.bin - Time: 1.709 seconds

// Results without any Drawing
./mandel_armel_dbl.bin - Time: 26.525 seconds
./mandel_armel_dbl_vfp.bin - Time: 1.672 seconds
./mandel_armel_flt.bin - Time: 19.647 seconds
./mandel_armel_flt_vfp.bin - Time: 1.601 seconds

// Results with full PixelDraw and SDL_Update only every column
./mandel_armel_dbl.bin - Time: 27.512 seconds
./mandel_armel_dbl_vfp.bin - Time: 2.447 seconds
./mandel_armel_flt.bin - Time: 20.689 seconds
./mandel_armel_flt_vfp.bin - Time: 2.451 seconds

What could that mean? First, SDL_Update is _very_ expensive. In the first try, I call SDL_Update just for every Pixel (SDL_Update(screen,x,y,1,1) and it slows down execution about six times, the vfp about 80 times. So I think there must be a kind of sync inside the SDL_Update function. If I update only every column, the speed loss is only about 80%.

Vfp float can give a speed increase about factor 10 and more. And there is not much difference between vfp float and double.

-Klaus

--
Klaus Rotter * klaus <at> rotters <dot> de * www.rotters.de
_______________________________________________
maemo-developers mailing list
[email protected]
https://maemo.org/mailman/listinfo/maemo-developers

Reply via email to