This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]