Factor Language Blog

Factor performance shootout

Tuesday, July 11, 2006

I ran a number of Factor benchmarks on the following machines:

  • 2.8 GHz Pentium 4, running Debian Linux, proprietary NVidia driver
  • 2.4 GHz Athlon 64 (dual processor), running Ubuntu Linux, proprietary NVidia driver
  • Apple MacBook Pro - 2.0 GHz Intel Core Duo (dual processor) running Mac OS X
  • Apple PowerMac - 2.5 GHz G5 (quad processor) running Mac OS X

The benchmarks were:

  • Stage 2 bootstrap - this involves compiling all words, building the online help search index, and loading the UI backend.
  • Fibonacci - this tests procedure activation overhead and integer math.
  • Mandelbrot - this tests complex number arithmetic.
  • Raytracer - this tests floating point arithmetic.
  • Evaluating [ tests compiler-tests ] time in the UI listener - the unit tests themselves include a lot of performance-intensive code, and this also measures how fast the UI can relayout and redraw, since the tests generate a lot of output.

The results were interesting. The best result in each row is shown in italics.

Pentium 4 AMD64 MacBook Pro PowerMac G5
Bootstrap (mins:secs) 4:56 4:40 4:38 6:19
Fibonacci (ms) 360 320 470 830
Mandelbrot (secs) 3.3 2.8 2.4 5.4
Raytracer (secs) 18 21 18 42
Unit tests (secs) 24 22 20 38

The results indicate there is a lot more work to do on the PowerPC compiler backend. The Core Duo’s good performance is rather surprising.