C++ inlining heuristics changed (3.0.1)
Gerald Pfeifer
pfeifer@dbai.tuwien.ac.at
Fri Aug 24 03:49:00 GMT 2001
As promised, updated with data for your second patch.
First the build benchmarks, then run-time benchmarks:
-O3 GCC 2.95.3 GCC 3.0 GCC 3.0.1 patch-1 patch-2
Compile-time 6:00 32:15 7:46 6:41 7:21
Binary size 4377664 6213988 4160356 3948196 4029092
Summary: With both patches, my binaries are smaller than ever before, and
compile-time is below 3.0.1 and even approaching the one with 2.95.3; the
second patch is more expensive in terms of compile-time and binary size.
STRATCOMP1-ALL | 5.68 | 99.41 | 98.18 | 101.35 | 98.23
STRATCOMP-770.2-Q | 1.28 | 1.46 | 1.99 | 1.45 | 1.44
2QBF1 | 24.34 | 40.88 | 37.64 | 30.51 | 30.47
PRIMEIMPL2 | 19.26 | 28.22 | 38.08 | 21.71 | 20.18
ANCESTOR | 12.65 | 11.66 | 17.32 | 12.85 | 13.09
3COL-SIMPLEX1 | 12.07 | 11.21 | 16.79 | 12.93 | 12.54
3COL-LADDER1 | 53.49 | 76.91 | 84.97 | 65.03 | 63.42
3COL-N-LADDER1 | 23.73 | 27.67 | 41.06 | 24.48 | 23.07
3COL-RANDOM1 | 18.61 | 26.30 | 36.56 | 21.52 | 20.13
HP-RANDOM1 | 14.19 | 15.05 | 20.58 | 15.95 | 15.66
HAMCYCLE-FREE | 2.06 | 2.47 | 3.85 | 2.89 | 2.79
DECOMP2 | 31.70 | 32.45 | 51.61 | 30.85 | 31.03
BW-P4-Esra-a | 106.77 | 125.14 | 167.70 | 116.59 | 112.88
BW-P5-nopush | 8.41 | 9.68 | 13.06 | 8.93 | 8.86
BW-P5-pushbin | 7.72 | 9.03 | 12.91 | 8.30 | 8.01
BW-P5-nopushbin | 2.70 | 3.08 | 4.38 | 2.83 | 2.82
3SAT-1 | 59.35 | 85.68 | 115.94 | 66.39 | 59.89
3SAT-1-CONSTRAINT | 31.12 | 48.77 | 68.35 | 36.69 | 34.94
HANOI-Towers | 6.10 | 6.56 | 9.46 | 5.89 | 5.94
RAMSEY | 13.63 | 15.00 | 21.84 | 14.41 | 14.66
CRISTAL | 14.88 | 15.26 | 22.10 | 17.11 | 16.81
HANOI-K | 59.49 | 80.59 | 121.81 | 66.69 | 63.78
21-QUEENS | 18.48 | 25.02 | 38.21 | 19.85 | 18.72
MSTDir[V=13,A=40] | 36.38 | 36.07 | 47.96 | 34.20 | 34.25
MSTDir[V=15,A=40] | 37.24 | 35.80 | 47.81 | 34.23 | 34.52
MSTUndir[V=13,A=40] | 19.07 | 19.30 | 26.65 | 18.63 | 18.50
MSTUndir[V=15,A=40] | 311.58 | 310.65 | 423.87 | 300.44 | 303.05
TIMETABLING | 23.98 | 25.47 | 37.90 | 25.28 | 24.41
Summary: Still worse than 2.95.3 in most cases, but significantly better
than 3.0.1 (which in turn is quite a bit worse when compared to 3.0). The
second patch is an improvement over the first one.
I'm still waiting for approval to commit the first patch (which doesn't
require the paperwork) on both branches.
Gerald
--
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/
More information about the Gcc
mailing list