Large performance regressions from 2.95.2/3 to HEAD
Daniel Berlin
dan@cgsoftware.com
Thu Jun 29 12:47:00 GMT 2000
In every benchmark i can find, i see large performance regressions in the
performance of the generated.
Based on the benchmarks showing it the most, i'm guessing it to be
something different in the inlining.
For example, with the stepanov benchmark, 2.95.2/3 (ie the 2.95 branch),
gets, on my PIII 600:
test absolute additions ratio with
number time per second test0
0 0.34sec 147.06M 1.00
1 0.34sec 147.06M 1.00
2 <same as 1>
3 <same as 1>
4 0.35sec 142.86M 1.03
5. <same as 4>
6. 0.36sec 138.89M 1.06
7. <same as 4>
8. 0.37sec 135.14M 1.09
9. <same as 1>
10. <same as 1>
11 <same as 1>
12 <same as 4>
Total absolute time: 4.51 sec
Abstraction Penalty: 1.02
(for those who don;'t know, this benchmark tries to measure theabstraction
penalty, the higher the test number, the more abstract way of doing the
same thing it's using.)
For the head branch of cvs, i get the following:
test absolute additions ratio with
number time per second test0
0 0.34sec 147.06M 1.00
1 0.35sec 142.86M 1.03
2. 3.24sec 15.43M 9.53
3 1.50sec 33.33M 4.41
4. 2.85sec 17.54M 8.38
5. <same as 3>
6. <same as 4>
7. 1.60sec 31.25M 4.71
8. 2.70sec 18.52M 7.94
9. <same as 7>
10. <same as 8>
11. 1.58sec 31.65M 4.85
12. 3.35sec 14.93M 9.85
Total absolute time: 26.16sec
Abstraction Penalty: 4.87
I see the same type of decrease in other things using templates vs
non-templates. While the non-templated stuff is usually quite a bit
faster, the stuff using templates seems to be at least half as fast, if
not worse.
Anyone have any idea what's going on?
--dan
More information about the Gcc
mailing list