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]

Large performance regressions from 2.95.2/3 to HEAD


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


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