This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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]

Re: Gcc 3.1 performance regressions with respect to 2.95.3


> 
> 
> > It is more or less special case. Overall 3.1 groks better the code
> > with lots of abstraction, but in this case 2.95 got particulary lucky.
> > It runs into similar slowdown only on slightly modified Stephanov as
> > long as I can remember.
> >
> 
> That is only partly true. When I benchmark gcc 3.1 at the -O versus
> -O2 optimization level with the help of the bench++ test suite, the
> performance is better in 45 cases at -O. Interestingly, the checks
> measuring loop overhead (L*) run all faster at the -O level. L00004 runs

Can you please check whetehr the crossjumping patch changes the figure somehow?
I hope it will catch the common problems with loop overhead.

> two times faster. And even more interesting is that o000007[a,b].cpp which
> checks the strength reduction capabilities of the compiler, o000007a.cpp
> which checks dead code elimination, o000010b.cpp which checks redundant
> code and o000011a.cpp checking the unreachable code optimizating facility
> run slower at the -O2 optimization level although this level provides
> specific optimizations for these problems. Furthermore, function calls are

This may well be register pressure, I will check these testcasees, thanks!

Honza
> slower at the -O2 level:
>   p000005.cpp  Static Class Method Call: 1-int Arg: Catches Exceptions
>   p000006.cpp  Static Class Method Call: 1-int *Arg: Catches Exceptions
>   p000008.cpp  Procedure Call: No Parameters: Called thru pointer, Catches Exceptions
>   p000012.cpp  Procedure Call: 10-(3-int) Args: Catches Exceptions
>   p000023.cpp  Same as p000022: called in loop to see if lookup is optimized
> 
> And in addition to the decrease in the performance of the stepanov tests
> there is a substantial decrease in the performance for processing
> complex numbers (S000004a).
> 
> It looks that there are some flaws in the -O2 optimizer passes. Is
> there a chance that this is fixed for the upcoming gcc 3.1 release?
> 
> Hope this helps,
> 
> Peter Schmid
> 
> 
> 
>           RELATIVE TIMES ..........
> TEST NAME Pentium II, 350 MHz Pentium II, 350 MHz
>           gcc 3.1             gcc 3.1
>           -O                  -O2
> --------- ------------------- -------------------
> A000091                  1.00                1.00
> A000092                  1.00                0.99
> A000094a                 1.00                1.08
> A000094b                 1.00                0.87
> A000094c                 1.00                1.00
> 
> A000094d                 1.00                0.67
> A000094e                 1.00                0.67
> A000094f                 1.00                0.95
> A000094g                 1.00                0.98
> A000094h                 1.00                0.83
> 
> A000094i                 1.00                0.68
> A000094j                 1.00                0.96
> A000094k                 1.00                0.44
> B000002b                 1.00                1.02  *
> B000003b                 1.00                1.02  *
> 
> B000004b                 1.00                1.01  *
> B000010                  1.00                0.98
> B000011                  1.00                0.99
> B000013                  1.00                0.81
> D000001                  1.00                0.99
> 
> D000002                  1.00                1.01  *
> D000003                  1.00                0.99
> D000004                  1.00                1.01  *
> D000005                  1.00                1.16  *
> D000006                  1.00                1.00
> 
> E000001                  1.00                0.98
> E000002                  1.00                0.98
> E000003                  1.00                0.68
> E000004                  1.00                0.59
> E000007                  1.00                1.00
> 
> E000008                  1.00                1.07
> F000001                  1.00                1.44  *
> F000002                  1.00                1.44  *
> F000003                  1.00                0.37
> F000004                  1.00                0.55
> 
> F000005                  1.00                0.59
> F000006                  1.00                0.70
> F000007                  1.00                0.88
> F000008                  1.00                1.14  *
> G000001                  1.00                0.95
> 
> G000002                  1.00                0.99
> G000003                  1.00                1.05  *
> G000004                  1.00                1.01  *
> G000005                  1.00                0.92
> G000006                  1.00                1.05  *
> 
> G000007                  1.00                1.03  *
> H000001                  1.00                1.01  *
> H000002                  1.00                1.00
> H000003                  1.00                0.90
> H000004                  1.00                0.88
> 
> H000005                  1.00                0.00
> H000006                  1.00                0.88
> H000007                  1.00                0.99
> H000008                  1.00                0.76
> H000009                  1.00                0.99
> 
> L000001                  1.00                1.21  *
> L000002                  1.00                1.16  *
> L000003                  1.00                1.38  *
> L000004                  1.00                2.00  *
> O000001a                 1.00                0.82
> 
> O000001b                 1.00                0.83
> O000002a                 1.00                0.94
> O000002b                 1.00                1.00
> O000003a                 1.00                1.09  *
> O000003b                 1.00                0.96
> 
> O000004a                 1.00                1.05  *
> O000004b                 1.00                1.05  *
> O000005a                 1.00                1.01  *
> O000005b                 1.00                0.85
> O000006a                 1.00                0.94
> 
> O000006b                 1.00                0.86
> O000007a                 1.00                1.15  *
> O000007b                 1.00                1.26  *
> O000008a                 1.00                1.08  *
> O000008b                 1.00                0.95
> 
> O000009a                 1.00                0.84
> O000009b                 1.00                0.85
> O000010a                 1.00                0.99
> O000010b                 1.00                1.07  *
> O000011a                 1.00                0.93
> 
> O000011b                 1.00                1.05  *
> O000012a                 1.00                1.00
> O000012b                 1.00                0.99
> P000001                  1.00                0.61
> P000002                  1.00                0.72
> 
> P000003                  1.00                0.65
> P000004                  1.00                0.00
> P000005                  1.00                1.43  *
> P000006                  1.00                1.14  *
> P000007                  1.00                1.10
> 
> P000008                  1.00                1.21  *
> P000010                  1.00                0.76
> P000011                  1.00                0.98
> P000012                  1.00                1.11  *
> P000013                  1.00                1.00
> 
> P000020                  1.00                0.93
> P000021                  1.00                0.59
> P000022                  1.00                0.59
> P000023                  1.00                1.12  *
> S000001a                 1.00                0.93
> 
> S000001b                 1.00                1.17  *
> S000002a                 1.00                0.53
> S000002b                 1.00                0.59
> S000003a                 1.00                0.63
> S000003b                 1.00                1.02  *
> 
> S000004a                 1.00                1.47  *
> S000004b                 1.00                0.99
> S000005a                 1.00                1.03  *
> S000005b                 1.00                0.97
> S000005c                 1.00                1.03  *
> 
> S000005d                 1.00                0.97
> S000005e                 1.00                1.18  *
> S000005f                 1.00                0.98
> S000005g                 1.00                1.12  *
> S000005h                 1.00                0.98
> 
> S000005i                 1.00                1.03  *
> S000005j                 1.00                0.97
> S000005k                 1.00                1.01  *
> S000005l                 1.00                0.98
> S000005m                 1.00                1.00
> 


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