------- Comment #49 from rguenth at gcc dot gnu dot org  2005-10-07 11:17 
-------
So trying to get some updated comparison I noticed that the testcase fails to
compile with 3.3.x and compared to 3.4.x we have improved a lot wrt -O2
compile-time:

3.4:  1m32s,  peak at 230MB
4.1:    48s,  peak at 480MB

Still we are using too much memory.  Time-report for 4.1 does no longer show
obvious problems:

Execution times (seconds)
 garbage collection    :   0.50 ( 1%) usr   0.00 ( 0%) sys   0.50 ( 1%) wall   
   0 kB ( 0%) ggc
 callgraph construction:   0.17 ( 0%) usr   0.01 ( 0%) sys   0.19 ( 0%) wall   
1898 kB ( 0%) ggc
 callgraph optimization:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 422 kB ( 0%) ggc
 ipa reference         :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
  97 kB ( 0%) ggc
 ipa pure const        :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa type escape       :   0.12 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
   0 kB ( 0%) ggc
 cfg construction      :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 589 kB ( 0%) ggc
 cfg cleanup           :   0.26 ( 1%) usr   0.00 ( 0%) sys   0.27 ( 1%) wall   
 511 kB ( 0%) ggc
 trivially dead code   :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.23 ( 0%) wall   
   0 kB ( 0%) ggc
 life analysis         :   1.43 ( 3%) usr   0.00 ( 0%) sys   1.41 ( 3%) wall   
  91 kB ( 0%) ggc
 life info update      :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
  11 kB ( 0%) ggc
 alias analysis        :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.20 ( 0%) wall   
3249 kB ( 1%) ggc
 register scan         :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.18 ( 0%) wall   
  49 kB ( 0%) ggc
 rebuild jump labels   :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   
   0 kB ( 0%) ggc
 preprocessing         :   0.52 ( 1%) usr   0.29 (11%) sys   0.78 ( 1%) wall   
 732 kB ( 0%) ggc
 parser                :   3.27 ( 7%) usr   0.42 (15%) sys   3.84 ( 7%) wall 
121022 kB (21%) ggc
 name lookup           :   0.65 ( 1%) usr   0.48 (18%) sys   1.15 ( 2%) wall   
9424 kB ( 2%) ggc
 inline heuristics     :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall   
1163 kB ( 0%) ggc
 integration           :   0.90 ( 2%) usr   0.02 ( 1%) sys   0.93 ( 2%) wall  
46704 kB ( 8%) ggc
 tree gimplify         :   0.41 ( 1%) usr   0.01 ( 0%) sys   0.47 ( 1%) wall   
7205 kB ( 1%) ggc
 tree eh               :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
1725 kB ( 0%) ggc
 tree CFG construction :   0.04 ( 0%) usr   0.03 ( 1%) sys   0.06 ( 0%) wall   
5236 kB ( 1%) ggc
 tree CFG cleanup      :   0.25 ( 1%) usr   0.02 ( 1%) sys   0.29 ( 1%) wall   
 332 kB ( 0%) ggc
 tree VRP              :   0.37 ( 1%) usr   0.05 ( 2%) sys   0.44 ( 1%) wall   
2375 kB ( 0%) ggc
 tree copy propagation :   1.22 ( 2%) usr   0.23 ( 8%) sys   1.43 ( 3%) wall   
 997 kB ( 0%) ggc
 tree store copy prop  :   0.09 ( 0%) usr   0.06 ( 2%) sys   0.16 ( 0%) wall   
 202 kB ( 0%) ggc
 tree find ref. vars   :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.11 ( 0%) wall   
6215 kB ( 1%) ggc
 tree PTA              :   1.80 ( 4%) usr   0.03 ( 1%) sys   1.88 ( 4%) wall   
4061 kB ( 1%) ggc
 tree alias analysis   :   3.18 ( 6%) usr   0.08 ( 3%) sys   3.40 ( 6%) wall   
5523 kB ( 1%) ggc
 tree PHI insertion    :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
 459 kB ( 0%) ggc
 tree SSA rewrite      :   1.80 ( 4%) usr   0.14 ( 5%) sys   2.00 ( 4%) wall 
120115 kB (21%) ggc
 tree SSA other        :   0.17 ( 0%) usr   0.03 ( 1%) sys   0.19 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA incremental  :   4.90 (10%) usr   0.05 ( 2%) sys   4.86 ( 9%) wall   
5152 kB ( 1%) ggc
 tree operand scan     :   3.98 ( 8%) usr   0.29 (11%) sys   4.21 ( 8%) wall  
58117 kB (10%) ggc
 dominator optimization:   1.70 ( 3%) usr   0.04 ( 1%) sys   1.81 ( 3%) wall 
100326 kB (17%) ggc
 tree SRA              :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
  17 kB ( 0%) ggc
 tree STORE-CCP        :   0.15 ( 0%) usr   0.02 ( 1%) sys   0.11 ( 0%) wall   
 193 kB ( 0%) ggc
 tree CCP              :   0.54 ( 1%) usr   0.03 ( 1%) sys   0.56 ( 1%) wall   
 923 kB ( 0%) ggc
 tree split crit edges :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
 820 kB ( 0%) ggc
 tree reassociation    :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree PRE              :   0.34 ( 1%) usr   0.00 ( 0%) sys   0.30 ( 1%) wall   
2854 kB ( 0%) ggc
 tree FRE              :   0.32 ( 1%) usr   0.03 ( 1%) sys   0.33 ( 1%) wall   
3726 kB ( 1%) ggc
 tree code sinking     :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
  78 kB ( 0%) ggc
 tree linearize phis   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
  63 kB ( 0%) ggc
 tree forward propagate:   0.19 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%) wall   
1127 kB ( 0%) ggc
 tree conservative DCE :   0.49 ( 1%) usr   0.00 ( 0%) sys   0.52 ( 1%) wall   
   0 kB ( 0%) ggc
 tree aggressive DCE   :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree DSE              :   0.28 ( 1%) usr   0.00 ( 0%) sys   0.29 ( 1%) wall   
  28 kB ( 0%) ggc
 tree loop bounds      :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
  47 kB ( 0%) ggc
 scev constant prop    :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
  18 kB ( 0%) ggc
 tree iv optimization  :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
 194 kB ( 0%) ggc
 tree loop init        :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree copy headers     :   0.01 ( 0%) usr   0.01 ( 0%) sys   0.00 ( 0%) wall   
 190 kB ( 0%) ggc
 tree SSA uncprop      :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA to normal    :   0.18 ( 0%) usr   0.05 ( 2%) sys   0.29 ( 1%) wall   
2239 kB ( 0%) ggc
 tree rename SSA copies:   0.14 ( 0%) usr   0.08 ( 3%) sys   0.18 ( 0%) wall   
   2 kB ( 0%) ggc
 control dependences   :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 expand                :   1.41 ( 3%) usr   0.05 ( 2%) sys   1.52 ( 3%) wall  
27273 kB ( 5%) ggc
 varconst              :   0.06 ( 0%) usr   0.05 ( 2%) sys   0.10 ( 0%) wall   
 488 kB ( 0%) ggc
 jump                  :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
 959 kB ( 0%) ggc
 CSE                   :   5.51 (11%) usr   0.01 ( 0%) sys   5.39 (10%) wall   
 844 kB ( 0%) ggc
 loop analysis         :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall   
 776 kB ( 0%) ggc
 global CSE            :   0.01 ( 0%) usr   0.01 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 CPROP 1               :   0.16 ( 0%) usr   0.01 ( 0%) sys   0.08 ( 0%) wall   
1463 kB ( 0%) ggc
 PRE                   :   0.14 ( 0%) usr   0.00 ( 0%) sys   0.18 ( 0%) wall   
 536 kB ( 0%) ggc
 CPROP 2               :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
 191 kB ( 0%) ggc
 bypass jumps          :   0.13 ( 0%) usr   0.01 ( 0%) sys   0.14 ( 0%) wall   
 195 kB ( 0%) ggc
 CSE 2                 :   3.13 ( 6%) usr   0.00 ( 0%) sys   3.22 ( 6%) wall   
 423 kB ( 0%) ggc
 branch prediction     :   0.19 ( 0%) usr   0.01 ( 0%) sys   0.13 ( 0%) wall   
 375 kB ( 0%) ggc
 flow analysis         :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 combiner              :   0.39 ( 1%) usr   0.00 ( 0%) sys   0.41 ( 1%) wall   
1802 kB ( 0%) ggc
 if-conversion         :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
  36 kB ( 0%) ggc
 regmove               :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall   
  82 kB ( 0%) ggc
 local alloc           :   0.39 ( 1%) usr   0.01 ( 0%) sys   0.37 ( 1%) wall   
 778 kB ( 0%) ggc
 global alloc          :   0.87 ( 2%) usr   0.00 ( 0%) sys   0.90 ( 2%) wall   
2306 kB ( 0%) ggc
 reload CSE regs       :   2.34 ( 5%) usr   0.00 ( 0%) sys   2.47 ( 5%) wall   
2413 kB ( 0%) ggc
 flow 2                :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
 706 kB ( 0%) ggc
 if-conversion 2       :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 peephole 2            :   0.11 ( 0%) usr   0.01 ( 0%) sys   0.12 ( 0%) wall   
1729 kB ( 0%) ggc
 rename registers      :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall   
  13 kB ( 0%) ggc
 scheduling 2          :   1.33 ( 3%) usr   0.01 ( 0%) sys   1.35 ( 3%) wall  
10690 kB ( 2%) ggc
 machine dep reorg     :   0.17 ( 0%) usr   0.00 ( 0%) sys   0.22 ( 0%) wall   
  13 kB ( 0%) ggc
 reorder blocks        :   0.06 ( 0%) usr   0.01 ( 0%) sys   0.06 ( 0%) wall   
 522 kB ( 0%) ggc
 final                 :   0.35 ( 1%) usr   0.00 ( 0%) sys   0.41 ( 1%) wall   
1457 kB ( 0%) ggc
 symout                :   0.01 ( 0%) usr   0.01 ( 0%) sys   0.02 ( 0%) wall   
 173 kB ( 0%) ggc
 TOTAL                 :  49.18             2.74            52.57            
573794 kB

With gc memory use the worst offenders are tree SSA rewrite and DOM.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855

Reply via email to