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]

[tree-ssa] 20% compile time regression vs. 3.4


Hi!

I thought it was time for another 3.4 vs. tree-ssa compile-time
comparison.  For -O2 compile-time we regressed quite a bit (20%) with the
main problem areas are (first 3.4, second tree-ssa):

 garbage collection    :  12.19 ( 7%) usr   0.00 ( 0%) sys  12.50 ( 7%) wall
 garbage collection    :  17.26 ( 8%) usr   0.02 ( 0%) sys  17.45 ( 8%) wall

tree-ssa uses about double amount of memory

 parser                :  14.59 ( 9%) usr   1.26 (27%) sys  16.41 ( 9%) wall
 parser                :  18.29 ( 8%) usr   1.42 (27%) sys  19.94 ( 9%) wall

I cannot make any sense out of this - are there significant changes to the
parser!?  Maybe that-much larger libstdc++?

 integration           :  17.86 (11%) usr   0.29 ( 6%) sys  18.34 (10%) wall
 integration           :  21.62 (10%) usr   0.18 ( 3%) sys  22.19 (10%) wall

probably different inlining choices

and finally some tree-ssa optimizer numbers stick out

 tree gimplify         :   3.39 ( 2%) usr   0.04 ( 1%) sys   3.48 ( 1%) wall
 tree eh               :   2.71 ( 1%) usr   0.01 ( 0%) sys   2.77 ( 1%) wall
 tree CFG construction :   1.69 ( 1%) usr   0.12 ( 2%) sys   1.87 ( 1%) wall
 tree CFG cleanup      :   2.89 ( 1%) usr   0.02 ( 0%) sys   2.98 ( 1%) wall
 tree PTA              :   0.49 ( 0%) usr   0.03 ( 1%) sys   0.52 ( 0%) wall
 tree alias analysis   :   0.71 ( 0%) usr   0.01 ( 0%) sys   0.75 ( 0%) wall
 tree PHI insertion    :   2.14 ( 1%) usr   0.04 ( 1%) sys   2.25 ( 1%) wall
 tree SSA rewrite      :   2.94 ( 1%) usr   0.01 ( 0%) sys   3.03 ( 1%) wall
 tree SSA other        :   3.77 ( 2%) usr   0.33 ( 6%) sys   4.17 ( 2%) wall
 tree operand scan     :   2.95 ( 1%) usr   0.46 ( 8%) sys   3.51 ( 2%) wall
 dominator optimization:  14.06 ( 6%) usr   0.20 ( 4%) sys  14.60 ( 6%) wall
 tree SRA              :   0.29 ( 0%) usr   0.00 ( 0%) sys   0.31 ( 0%) wall
 tree CCP              :   2.29 ( 1%) usr   0.00 ( 0%) sys   2.39 ( 1%) wall
 tree split crit edges :   0.27 ( 0%) usr   0.00 ( 0%) sys   0.28 ( 0%) wall
 tree PRE              :   6.11 ( 3%) usr   0.06 ( 1%) sys   6.40 ( 3%) wall
 tree linearize phis   :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 tree forward propagate:   1.37 ( 1%) usr   0.00 ( 0%) sys   1.42 ( 1%) wall
 tree conservative DCE :   2.71 ( 1%) usr   0.02 ( 0%) sys   2.80 ( 1%) wall
 tree aggressive DCE   :   1.40 ( 1%) usr   0.00 ( 0%) sys   1.45 ( 1%) wall
 tree DSE              :   3.30 ( 2%) usr   0.03 ( 1%) sys   3.42 ( 1%) wall
 tree copy headers     :   1.80 ( 1%) usr   0.01 ( 0%) sys   1.84 ( 1%) wall
 tree SSA to normal    :   3.18 ( 1%) usr   0.13 ( 2%) sys   3.39 ( 1%) wall
 tree NRV optimization :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 tree rename SSA copies:   0.83 ( 0%) usr   0.03 ( 1%) sys   0.88 ( 0%) wall

namely DOM (again) and PRE.

This is with the famous tramp3d-v2.cpp testcase you can find at
http://www.tat.physik.uni-tuebingen.de/~rguenth/gcc/tramp3d-v2.cpp.gz

g++-ssa (GCC) 3.5-tree-ssa 20040303 (merged 20040227)
g++ (GCC) 3.4.0 20040301 (prerelease)

compiled with -O2 -c tramp3d-v2.cpp -Dleafify=fooblah -ftime-report to
disable leafify effects.  The 3.4 compiler was profiledbootstrapped while
the ssa one was only bootstrapped.  Of course checking was disabled.

Thanks,

Richard.

--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/


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