public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [tree-ssa] 20% compile time regression vs. 3.4
@ 2004-03-03 14:46 Richard Guenther
  2004-03-03 15:28 ` [tree-ssa] c++/14408 " Richard Guenther
  2004-03-04  0:50 ` [tree-ssa] " Per Bothner
  0 siblings, 2 replies; 4+ messages in thread
From: Richard Guenther @ 2004-03-03 14:46 UTC (permalink / raw)
  To: gcc

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/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [tree-ssa] c++/14408 20% compile time regression vs. 3.4
  2004-03-03 14:46 [tree-ssa] 20% compile time regression vs. 3.4 Richard Guenther
@ 2004-03-03 15:28 ` Richard Guenther
  2004-03-03 15:34   ` Diego Novillo
  2004-03-04  0:50 ` [tree-ssa] " Per Bothner
  1 sibling, 1 reply; 4+ messages in thread
From: Richard Guenther @ 2004-03-03 15:28 UTC (permalink / raw)
  To: gcc

On Wed, 3 Mar 2004, Richard Guenther wrote:

> Hi!
>
> I thought it was time for another 3.4 vs. tree-ssa compile-time
> comparison.

I just realized there is no PR with my favorite testcase yet, so I created
c++/14408 with the testcase attached to track this and future issues with
it.

Richard.

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [tree-ssa] c++/14408 20% compile time regression vs. 3.4
  2004-03-03 15:28 ` [tree-ssa] c++/14408 " Richard Guenther
@ 2004-03-03 15:34   ` Diego Novillo
  0 siblings, 0 replies; 4+ messages in thread
From: Diego Novillo @ 2004-03-03 15:34 UTC (permalink / raw)
  To: Richard Guenther; +Cc: gcc

On Wed, 2004-03-03 at 10:28, Richard Guenther wrote:

> I just realized there is no PR with my favorite testcase yet, so I created
> c++/14408 with the testcase attached to track this and future issues with
> it.
> 
Well, we have 13776 which is the one I forwarded your message to.  I'd
rather have only one PR for this.


Diego.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [tree-ssa] 20% compile time regression vs. 3.4
  2004-03-03 14:46 [tree-ssa] 20% compile time regression vs. 3.4 Richard Guenther
  2004-03-03 15:28 ` [tree-ssa] c++/14408 " Richard Guenther
@ 2004-03-04  0:50 ` Per Bothner
  1 sibling, 0 replies; 4+ messages in thread
From: Per Bothner @ 2004-03-04  0:50 UTC (permalink / raw)
  To: Richard Guenther; +Cc: gcc

Richard Guenther wrote:

> 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

Tree-ssa expression nodes point to a separately-allocated location_t
object.  It does try to share these, but it will to extra gc time, if
nothing else.

I could try to dust off my "replace location_t by source_location"
patch.  I don't know if it would be appropriate for the current stage
of tree-ssa "semi-freeze", though it helps with compile speed (no
guarantee that it does), maybe I should try it.
-- 
	--Per Bothner
per@bothner.com   http://per.bothner.com/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-03-04  0:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-03 14:46 [tree-ssa] 20% compile time regression vs. 3.4 Richard Guenther
2004-03-03 15:28 ` [tree-ssa] c++/14408 " Richard Guenther
2004-03-03 15:34   ` Diego Novillo
2004-03-04  0:50 ` [tree-ssa] " Per Bothner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).