This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
g++ performance comparison: 3.1 vs mainline
- From: Dan Nicolaescu <dann at godzilla dot ICS dot UCI dot EDU>
- To: gcc at gcc dot gnu dot org
- Date: Fri, 24 May 2002 11:07:19 -0700
- Subject: g++ performance comparison: 3.1 vs mainline
I run the benchmarks mentioned at:
http://www.coyotegulch.com/reviews/intel_comp/intel_gcc_bench2.html
(the benchmarks can be downloaded from
http://www.coyotegulch.com/reviews/intel_comp/icc-6.0_gcc-3.0.4_benchmarks.tar.gz)
using g++ -mcpu=ultrasparc -O3 on a sparc-sun-solaris2.7
just to check the difference that enabling alias analysis and the
new DFA scheduler make for g++.
The good news is that the mainline is generating better code!
The only exceptions are "Max" and "Complex" from OOPACK. I'll send a
another message about that later.
I haven't looked yet into what's happening to the Stepanov benchmark,
it seems it's overoptimized.
Mazebench:
g++-3.1
generating a 1200-by-1200 maze
done in 8.14 seconds
mainline g++
generating a 1200-by-1200 maze
done in 8.1 seconds
OOPACK:
g++-3.1
Seconds Mflops
Test Iterations C OOP C OOP Ratio
---- ---------- ----------- ----------- -----
Max 100000 3.1 3.4 32.5 29.2 1.1
Matrix 1000 3.8 4.0 66.0 63.0 1.0
Complex 100000 8.8 30.8 91.4 26.0 3.5
Iterator 100000 2.4 2.4 83.3 82.6 1.0
mainline g++
Seconds Mflops
Test Iterations C OOP C OOP Ratio
---- ---------- ----------- ----------- -----
Max 100000 3.0 3.7 33.0 26.7 1.2
Matrix 1000 3.8 3.8 66.5 65.6 1.0
Complex 100000 8.7 41.6 91.5 19.2 4.8
Iterator 100000 2.4 2.4 83.0 82.6 1.0
Stepanov:
g++-3.1
test absolute additions ratio with
number time per second test0
0 0.52sec 96.15M 1.00
1 0.51sec 98.04M 0.98
2 0.52sec 96.15M 1.00
3 0.68sec 73.53M 1.31
4 0.69sec 72.46M 1.33
5 0.68sec 73.53M 1.31
6 0.69sec 72.46M 1.33
7 0.68sec 73.53M 1.31
8 0.68sec 73.53M 1.31
9 0.69sec 72.46M 1.33
10 0.68sec 73.53M 1.31
11 0.69sec 72.46M 1.33
12 0.68sec 73.53M 1.31
mean: 0.64sec 77.99M 1.23
Total absolute time: 8.39 sec
Abstraction Penalty: 1.23
mainline g++
test absolute additions ratio with
number time per second test0
0 0.68sec 73.53M 1.00
1 0.51sec 98.04M 0.75
2 0.52sec 96.15M 0.76
3 0.51sec 98.04M 0.75
4 0.52sec 96.15M 0.76
5 0.51sec 98.04M 0.75
6 0.52sec 96.15M 0.76
7 0.51sec 98.04M 0.75
8 0.52sec 96.15M 0.76
9 0.51sec 98.04M 0.75
10 0.52sec 96.15M 0.76
11 0.51sec 98.04M 0.75
12 0.51sec 98.04M 0.75
mean: 0.53sec 95.18M 0.77
Total absolute time: 6.85 sec
Abstraction Penalty: 0.77
Whetstone:
g++-3.1
Loops: 10000, Iterations: 1, Duration: 3 sec.
C Converted Double Precision Whetstones: 333.3 MIPS
mainline g++
Loops: 10000, Iterations: 1, Duration: 2 sec.
C Converted Double Precision Whetstones: 500.0 MIPS
SciMark2:
g++-3.1
** **
** SciMark2 Numeric Benchmark, see http://math.nist.gov/scimark **
** for details. (Results can be submitted to pozo@nist.gov) **
** **
Using 2.00 seconds min time per kenel.
Composite Score: 45.39
FFT Mflops: 51.91 (N=1024)
SOR Mflops: 71.69 (100 x 100)
MonteCarlo: Mflops: 12.96
Sparse matmult Mflops: 33.71 (N=1000, nz=5000)
LU Mflops: 56.70 (M=100, N=100)
mainline g++
** **
** SciMark2 Numeric Benchmark, see http://math.nist.gov/scimark **
** for details. (Results can be submitted to pozo@nist.gov) **
** **
Using 2.00 seconds min time per kenel.
Composite Score: 45.63
FFT Mflops: 52.16 (N=1024)
SOR Mflops: 71.47 (100 x 100)
MonteCarlo: Mflops: 13.11
Sparse matmult Mflops: 34.71 (N=1000, nz=5000)
LU Mflops: 56.70 (M=100, N=100)