Factor Language Blog

Floating point intrinsics working on PowerPC

Tuesday, May 9, 2006

The compiler now inlines machine code for floating point operations instead of calling the runtime. This results in a performance improvement on my 2.5 Ghz PowerPC G5:

Benchmark

Before

After

Mandelbrot

10.5

5.4

Raytracer

61.1

41

Here are the x86 results (Pentium 4 1.8 GHz):

Benchmark

Before

After

Mandelbrot

8.7

4.3

Raytracer

44.3

33.2

The Before column is 0.81, the After column is 0.82, and times are in seconds.
Yes, a five year old box beats my brand new G5, but I suspect this is because my compiler doesn’t do instruction scheduling.
Bigger gains will come as the higher levels of the compiler improve, resulting in more inlining.