Viro
Registered
I've been bored today and since I've just finished compiling gcc-4.0 on Panther, I thought that I'd run a few simple benchmarks to see how much faster code runs with this new compiler.
NOTE: If you don't like speculation, just disregard this post
.
The first benchmark I ran is Scimark. It's a popular benchmark that does some typical scientific routines like FFTs and monte carlo algorithm. In the benchmark, a higher score is better. It stands for MFLOPS (Millions of Floating Point Operations per Second).
As you can see, just changing the compiler but keeping the code the same, GCC 4.0 produced an executable that is 15% faster overall. Only thing that performed worse was the Monte Carlo simulation, and I'm guessing it's because GCC 4.0 doesn't do well with optimizing recursion. Further investigation is necessary to know for certain.
With my own code which is a run of the NDS neuron (a model I'm working on), the results are follows (results in execution time so lower is better):
We get about 15% performance improvement too! So assuming this holds for most other code and especially for Tiger, we might see some performance improvements even if they do not do anything but just recompile the code with the new compiler. Which is quite awesome.
NOTE: If you don't like speculation, just disregard this post

The first benchmark I ran is Scimark. It's a popular benchmark that does some typical scientific routines like FFTs and monte carlo algorithm. In the benchmark, a higher score is better. It stands for MFLOPS (Millions of Floating Point Operations per Second).
Scimark compiled with GCC 3.3 build 1671(latest publicly available GCC from Apple said:Using 2.00 seconds min time per kenel.
Composite Score: 229.51
FFT Mflops: 195.54 (N=1024)
SOR Mflops: 283.38 (100 x 100)
MonteCarlo: Mflops: 37.39
Sparse matmult Mflops: 271.93 (N=1000, nz=5000)
LU Mflops: 359.30 (M=100, N=100)
Scimark compiled with GCC 4.0 built from source said:Using 2.00 seconds min time per kenel.
Composite Score: 263.43
FFT Mflops: 203.77 (N=1024)
SOR Mflops: 439.94 (100 x 100)
MonteCarlo: Mflops: 26.42
Sparse matmult Mflops: 271.93 (N=1000, nz=5000)
LU Mflops: 375.09 (M=100, N=100)
As you can see, just changing the compiler but keeping the code the same, GCC 4.0 produced an executable that is 15% faster overall. Only thing that performed worse was the Monte Carlo simulation, and I'm guessing it's because GCC 4.0 doesn't do well with optimizing recursion. Further investigation is necessary to know for certain.
With my own code which is a run of the NDS neuron (a model I'm working on), the results are follows (results in execution time so lower is better):
3 NDS Neuron network said:GCC-3.3 = 19 seconds
GCC-4.0 = 17 seconds
We get about 15% performance improvement too! So assuming this holds for most other code and especially for Tiger, we might see some performance improvements even if they do not do anything but just recompile the code with the new compiler. Which is quite awesome.