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]
Other format: [Raw text]

3.2 vs 3.1 speed


I did a little test on the speed of 3.2 and 3.1 using the example
posted earlier today on a Sparc machine with 1GB RAM. 
3.2 was last updated on May 25. 

3.2 is _slower_ than 3.1 at compiling the same preprocessed file. 

It looks like the main reasons for the speed decrease are: garbage
collection, expand and scheduling. 
The times are the ones reported by -ftime-report

Results for -O1
                          g++-3.2 -O1                         g++-3.1 -O1
Execution times (seconds) 
 garbage collection    :  30.28 (25%)   garbage collection    :  27.53 (26%) 
 cfg construction      :   1.36 ( 1%)   cfg construction      :   1.05 ( 1%) 
 cfg cleanup           :   3.64 ( 3%)   cfg cleanup           :   3.43 ( 3%) 
 trivially dead code   :   0.94 ( 1%)  				      
 life analysis         :   7.77 ( 6%)   life analysis         :   6.59 ( 6%) 
 life info update      :   1.34 ( 1%)   life info update      :   0.88 ( 1%) 
 preprocessing         :   1.13 ( 1%)   preprocessing         :   0.97 ( 1%) 
 lexical analysis      :   1.63 ( 1%)   lexical analysis      :   1.96 ( 2%) 
 parser                :  35.49 (29%)   parser                :  37.18 (35%) 
 expand                :  15.89 (13%)   expand                :   7.71 ( 7%) 
 varconst              :   0.25 ( 0%)   varconst              :   0.42 ( 0%) 
 integration           :   2.03 ( 2%)   integration           :   1.87 ( 2%) 
 jump                  :   2.28 ( 2%)   jump                  :   0.41 ( 0%) 
 CSE                   :   3.16 ( 3%)   CSE                   :   3.24 ( 3%) 
 loop analysis         :   0.46 ( 0%)   loop analysis         :   0.38 ( 0%) 
 CSE 2                 :   0.00 ( 0%)  				      
 branch prediction     :   1.54 ( 1%)  				      
 flow analysis         :   0.45 ( 0%)   flow analysis         :   0.54 ( 1%) 
 combiner              :   1.47 ( 1%)   combiner              :   1.40 ( 1%) 
 if-conversion         :   0.09 ( 0%)   if-conversion         :   0.04 ( 0%) 
 local alloc           :   1.45 ( 1%)   local alloc           :   1.16 ( 1%) 
 global alloc          :   2.97 ( 2%)   global alloc          :   2.63 ( 2%) 
 reload CSE regs       :   1.37 ( 1%)   reload CSE regs       :   1.66 ( 2%) 
 flow 2                :   0.28 ( 0%)   flow 2                :   0.18 ( 0%) 
 if-conversion 2       :   0.07 ( 0%)   if-conversion 2       :   0.04 ( 0%) 
 rename registers      :   2.30 ( 2%)   rename registers      :   1.98 ( 2%) 
 delay branch sched    :   1.07 ( 1%)   delay branch sched    :   0.90 ( 1%) 
 shorten branches      :   0.15 ( 0%)   shorten branches      :   0.09 ( 0%) 
 final                 :   0.49 ( 0%)   final                 :   0.54 ( 1%) 
 symout                :   0.03 ( 0%)   symout                :   0.08 ( 0%) 
 rest of compilation   :   1.69 ( 1%)   rest of compilation   :   1.33 ( 1%) 
 TOTAL                 : 123.10         TOTAL                 : 106.24       


Results for -O2
                          g++-3.2 -O2                         g++-3.1 -O2
Execution times (seconds)
 garbage collection    :  33.53 (20%)   garbage collection    :  30.54 (22%) 
 cfg construction      :   1.19 ( 1%)   cfg construction      :   1.41 ( 1%) 
 cfg cleanup           :   3.36 ( 2%)   cfg cleanup           :   3.52 ( 2%) 
 trivially dead code   :   1.99 ( 1%)  				      
 life analysis         :   7.84 ( 5%)   life analysis         :   6.72 ( 5%) 
 life info update      :   1.74 ( 1%)   life info update      :   1.38 ( 1%) 
 preprocessing         :   0.95 ( 1%)   preprocessing         :   1.00 ( 1%) 
 lexical analysis      :   1.63 ( 1%)   lexical analysis      :   1.70 ( 1%) 
 parser                :  35.45 (22%)   parser                :  37.95 (27%) 
 expand                :  16.66 (10%)   expand                :   8.54 ( 6%) 
 varconst              :   0.32 ( 0%)   varconst              :   0.38 ( 0%) 
 integration           :   1.97 ( 1%)   integration           :   1.68 ( 1%) 
 jump                  :   3.47 ( 2%)   jump                  :   1.27 ( 1%) 
 CSE                   :  10.81 ( 7%)   CSE                   :  11.87 ( 8%) 
 global CSE            :   2.86 ( 2%)   global CSE            :   2.07 ( 1%) 
 loop analysis         :   0.93 ( 1%)   loop analysis         :   0.71 ( 1%) 
 CSE 2                 :   4.00 ( 2%)   CSE 2                 :   4.52 ( 3%) 
 branch prediction     :   1.55 ( 1%)  				      
 flow analysis         :   0.29 ( 0%)   flow analysis         :   0.33 ( 0%) 
 combiner              :   1.19 ( 1%)   combiner              :   1.12 ( 1%) 
 if-conversion         :   0.09 ( 0%)   if-conversion         :   0.05 ( 0%) 
 regmove               :   0.43 ( 0%)   regmove               :   0.39 ( 0%) 
 scheduling            :  16.24 (10%)   scheduling            :  10.21 ( 7%) 
 local alloc           :   1.61 ( 1%)   local alloc           :   1.42 ( 1%) 
 global alloc          :   3.04 ( 2%)   global alloc          :   2.66 ( 2%) 
 reload CSE regs       :   2.37 ( 1%)   reload CSE regs       :   3.01 ( 2%) 
 flow 2                :   0.25 ( 0%)   flow 2                :   0.20 ( 0%) 
 if-conversion 2       :   0.02 ( 0%)   if-conversion 2       :   0.04 ( 0%) 
 peephole 2            :   0.49 ( 0%)   peephole 2            :   0.52 ( 0%) 
 rename registers      :   2.33 ( 1%)   rename registers      :   2.13 ( 2%) 
 scheduling 2          :   1.77 ( 1%)   scheduling 2          :   1.44 ( 1%) 
 delay branch sched    :   1.43 ( 1%)   delay branch sched    :   0.95 ( 1%) 
 reorder blocks        :   0.22 ( 0%)   reorder blocks        :   0.20 ( 0%) 
 shorten branches      :   0.19 ( 0%)   shorten branches      :   0.13 ( 0%) 
 final                 :   0.51 ( 0%)   final                 :   0.50 ( 0%) 
 symout                :   0.01 ( 0%)   symout                :   0.04 ( 0%) 
 rest of compilation   :   1.62 ( 1%)   rest of compilation   :   1.13 ( 1%) 
 TOTAL                 : 164.43         TOTAL                 : 141.80         

The source code used is at: http://www.ics.uci.edu/~dann/orb.i.bz2

Hope somebody can figure out what is going on... 


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