This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/43463] large compile time regressions for Polyhedron 2005 benchmarks
- From: "howarth at nitro dot med dot uc dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Mar 2010 18:40:38 -0000
- Subject: [Bug fortran/43463] large compile time regressions for Polyhedron 2005 benchmarks
- References: <bug-43463-11113@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from howarth at nitro dot med dot uc dot edu 2010-03-21 18:40 -------
Using built-in specs.
Target: x86_64-apple-darwin10.3.0
Configured with: ../gcc-4.4.4/configure --prefix=/sw --prefix=/sw/lib/gcc4.4
--mandir=/sw/share/man --infodir=/sw/share/info
--enable-languages=c,c++,fortran,objc,java --with-gmp=/sw
--with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw --with-system-zlib
--x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib
--disable-libjava-multilib --enable-checking=release
Thread model: posix
gcc version 4.4.4 20100320 (prerelease) (GCC)
shows...
================================================================================
Date & Time : 21 Mar 2010 13:31:33
Test Name : gfortran_lin_O3
Compile Command : gfortran -ffast-math -funroll-loops -msse3 -O3 %n.f90 -o %n
Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct
linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times : 2000.0
Target Error % : 0.100
Minimum Repeats : 10
Maximum Repeats : 100
Benchmark Compile Executable Ave Run Number Estim
Name (secs) (bytes) (secs) Repeats Err %
--------- ------- ---------- ------- ------- ------
ac 0.79 10000 11.24 10 0.0063
aermod 36.50 10000 21.49 10 0.0064
air 2.10 10000 5.70 10 0.0564
capacita 1.34 10000 35.27 10 0.0140
channel 0.74 10000 1.75 11 0.0928
doduc 4.32 10000 27.50 10 0.0118
fatigue 1.64 10000 8.46 10 0.0541
gas_dyn 2.39 10000 5.08 15 0.0971
induct 3.51 10000 12.81 10 0.0122
linpk 0.72 10000 15.43 10 0.0618
mdbx 1.40 10000 11.28 10 0.0471
nf 3.01 10000 29.38 17 0.0977
protein 3.38 10000 35.30 10 0.0102
rnflow 4.44 10000 23.42 10 0.0160
test_fpu 4.13 10000 8.74 10 0.0189
tfft 0.45 10000 1.90 12 0.0253
Geometric Mean Execution Time = 11.47 seconds
================================================================================
and for gcc trunk...
Using built-in specs.
COLLECT_GCC=gcc-4
COLLECT_LTO_WRAPPER=/sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin10.3.0/4.5.0/lto-wrapper
Target: x86_64-apple-darwin10.3.0
Configured with: ../gcc-4.5-20100320/configure --prefix=/sw
--prefix=/sw/lib/gcc4.5 --mandir=/sw/share/man --infodir=/sw/share/info
--enable-languages=c,c++,fortran,objc,obj-c++,java --with-gmp=/sw
--with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw --with-mpc=/sw
--with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib
--disable-libjava-multilib --enable-checking=release
Thread model: posix
gcc version 4.5.0 20100321 (experimental) (GCC)
================================================================================
Date & Time : 21 Mar 2010 12:28:57
Test Name : gfortran_lin_O3
Compile Command : gfortran -ffast-math -funroll-loops -msse3 -O3 %n.f90 -o %n
Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct
linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times : 2000.0
Target Error % : 0.100
Minimum Repeats : 10
Maximum Repeats : 100
Benchmark Compile Executable Ave Run Number Estim
Name (secs) (bytes) (secs) Repeats Err %
--------- ------- ---------- ------- ------- ------
ac 0.90 10000 10.60 10 0.0706
aermod 39.17 10000 20.96 10 0.0060
air 2.26 10000 5.68 12 0.0254
capacita 1.71 10000 33.17 10 0.0097
channel 0.56 10000 1.83 10 0.0326
doduc 4.59 10000 27.75 10 0.0040
fatigue 1.54 10000 8.07 10 0.0647
gas_dyn 2.85 10000 4.39 16 0.0850
induct 3.64 10000 12.65 10 0.0056
linpk 0.71 10000 15.39 10 0.0233
mdbx 1.51 10000 11.33 10 0.0061
nf 1.89 10000 27.56 48 0.0935
protein 3.47 10000 37.03 10 0.0112
rnflow 5.16 10000 23.67 10 0.0166
test_fpu 4.18 10000 8.67 10 0.0148
tfft 0.49 10000 1.88 10 0.0389
Geometric Mean Execution Time = 11.24 seconds
================================================================================
which reduces the compile time regressions down to...
benchmark gcc45 compile time/gcc44 compile time
ac 1.14
aermod 1.07
air 1.08
capacita 1.28
channel 0.76
doduc 1.06
fatigue 0.94
gas_dyn 1.19
induct 1.04
linpk 0.99
mdbx 1.08
nf 1.35
protein 1.03
rnflow 1.16
test_fpu 1.01
tfft 1.09
So the bulk of the compile time regression is due to not using release
checking.
This increased compile time penalty for not using release checking should be
mentioned
in the release notes (since it is a significant change from prior releases).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43463