public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>
To: nobody@gcc.gnu.org
Cc: gcc-prs@gcc.gnu.org,
Subject: Re: optimization/10196: [3.3/3.4 regression] Compile time regression with inlining
Date: Mon, 24 Mar 2003 13:46:00 -0000	[thread overview]
Message-ID: <20030324134601.8644.qmail@sources.redhat.com> (raw)

The following reply was made to PR optimization/10196; it has been noted by GNATS.

From: Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>
To: mmitchel@gcc.gnu.org, <gcc-bugs@gcc.gnu.org>, <gcc-prs@gcc.gnu.org>,
   <nobody@gcc.gnu.org>, <rguenth@tat.physik.uni-tuebingen.de>,
   <gcc-gnats@gcc.gnu.org>
Cc:  
Subject: Re: optimization/10196: [3.3/3.4 regression] Compile time regression
 with inlining
Date: Mon, 24 Mar 2003 14:41:05 +0100 (CET)

 Corrected URL for the testcase is
 
 http://www.tat.physik.uni-tuebingen.de/~rguenth/DynamicLayout2.cmpl.ii.gz
 
 with g++-3.3 (GCC) 3.3 20030318 (prerelease) time report gives:
 
 Execution times (seconds)
  garbage collection    :  10.45 ( 0%) usr   0.26 ( 1%) sys  13.75 ( 0%)
 wall
  cfg construction      :   5.49 ( 0%) usr   0.12 ( 0%) sys   6.81 ( 0%)
 wall
  cfg cleanup           :  15.82 ( 1%) usr   0.12 ( 0%) sys  20.12 ( 1%)
 wall
  trivially dead code   :   2.08 ( 0%) usr   0.07 ( 0%) sys   3.38 ( 0%)
 wall
  life analysis         :   1.45 ( 0%) usr   6.43 (23%) sys  11.50 ( 0%)
 wall
  life info update      :   0.68 ( 0%) usr   2.49 ( 9%) sys   3.56 ( 0%)
 wall
  preprocessing         :   0.31 ( 0%) usr   0.14 ( 0%) sys   6.38 ( 0%)
 wall
  lexical analysis      :   0.20 ( 0%) usr   0.07 ( 0%) sys   0.19 ( 0%)
 wall
  parser                :   2.26 ( 0%) usr   0.26 ( 1%) sys   3.19 ( 0%)
 wall
  name lookup           :   1.19 ( 0%) usr   0.35 ( 1%) sys   1.75 ( 0%)
 wall
  expand                :2148.17 (96%) usr  13.00 (46%) sys2628.00 (94%)
 wall
  varconst              :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%)
 wall
  integration           :   0.68 ( 0%) usr   0.02 ( 0%) sys   1.06 ( 0%)
 wall
  jump                  :  20.45 ( 1%) usr   0.69 ( 2%) sys  25.69 ( 1%)
 wall
  CSE                   :   4.46 ( 0%) usr   0.38 ( 1%) sys   6.62 ( 0%)
 wall
  global CSE            :   3.48 ( 0%) usr   0.70 ( 2%) sys   6.25 ( 0%)
 wall
  loop analysis         :   4.81 ( 0%) usr   1.49 ( 5%) sys   8.06 ( 0%)
 wall
  CSE 2                 :   1.25 ( 0%) usr   0.10 ( 0%) sys   1.94 ( 0%)
 wall
  branch prediction     :   0.78 ( 0%) usr   0.10 ( 0%) sys   1.31 ( 0%)
 wall
  flow analysis         :   0.79 ( 0%) usr   0.11 ( 0%) sys   1.38 ( 0%)
 wall
  combiner              :   0.75 ( 0%) usr   0.13 ( 0%) sys   1.31 ( 0%)
 wall
  if-conversion         :   0.39 ( 0%) usr   0.01 ( 0%) sys   0.50 ( 0%)
 wall
  regmove               :   0.35 ( 0%) usr   0.02 ( 0%) sys   0.56 ( 0%)
 wall
  mode switching        :   0.12 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%)
 wall
  local alloc           :   1.94 ( 0%) usr   0.58 ( 2%) sys   3.62 ( 0%)
 wall
  global alloc          :   2.19 ( 0%) usr   0.16 ( 1%) sys   2.81 ( 0%)
 wall
  reload CSE regs       :   2.15 ( 0%) usr   0.19 ( 1%) sys   3.12 ( 0%)
 wall
  flow 2                :   0.68 ( 0%) usr   0.07 ( 0%) sys   1.06 ( 0%)
 wall
  if-conversion 2       :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%)
 wall
  peephole 2            :   0.14 ( 0%) usr   0.01 ( 0%) sys   0.25 ( 0%)
 wall
  rename registers      :   0.33 ( 0%) usr   0.01 ( 0%) sys   0.31 ( 0%)
 wall
  scheduling 2          :   1.28 ( 0%) usr   0.10 ( 0%) sys   2.06 ( 0%)
 wall
  reorder blocks        :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%)
 wall
  shorten branches      :   0.44 ( 0%) usr   0.02 ( 0%) sys   0.75 ( 0%)
 wall
  final                 :   0.50 ( 0%) usr   0.01 ( 0%) sys   0.88 ( 0%)
 wall
  symout                :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%)
 wall
  rest of compilation   :   8.54 ( 0%) usr   0.11 ( 0%) sys  17.62 ( 1%)
 wall
  TOTAL                 :2244.76            28.32          2786.25
 
 
 with (after fix of related PR c++/7086) time report gives:
 
 Execution times (seconds)
  garbage collection    :  10.39 ( 7%) usr   0.35 ( 1%) sys  12.69 ( 6%)
 wall
  cfg construction      :   5.62 ( 4%) usr   0.15 ( 1%) sys   8.69 ( 4%)
 wall
  cfg cleanup           :  16.23 (11%) usr   0.25 ( 1%) sys  18.94 ( 8%)
 wall
  trivially dead code   :   2.17 ( 1%) usr   0.11 ( 0%) sys   3.06 ( 1%)
 wall
  life analysis         :   1.54 ( 1%) usr   6.60 (22%) sys   9.50 ( 4%)
 wall
  life info update      :   0.80 ( 1%) usr   2.54 ( 8%) sys   4.12 ( 2%)
 wall
  preprocessing         :   0.21 ( 0%) usr   0.08 ( 0%) sys   1.75 ( 1%)
 wall
  lexical analysis      :   0.21 ( 0%) usr   0.07 ( 0%) sys   0.44 ( 0%)
 wall
  parser                :   2.33 ( 2%) usr   0.32 ( 1%) sys   2.94 ( 1%)
 wall
  name lookup           :   1.21 ( 1%) usr   0.38 ( 1%) sys   1.50 ( 1%)
 wall
  expand                :  50.55 (34%) usr  12.93 (43%) sys  80.06 (35%)
 wall
  varconst              :   0.06 ( 0%) usr   0.01 ( 0%) sys   0.25 ( 0%)
 wall
  integration           :   0.66 ( 0%) usr   0.03 ( 0%) sys   0.88 ( 0%)
 wall
  jump                  :  20.92 (14%) usr   1.32 ( 4%) sys  30.06 (13%)
 wall
  CSE                   :   4.49 ( 3%) usr   0.38 ( 1%) sys   5.69 ( 2%)
 wall
  global CSE            :   3.60 ( 2%) usr   0.72 ( 2%) sys   5.38 ( 2%)
 wall
  loop analysis         :   4.62 ( 3%) usr   1.71 ( 6%) sys   9.31 ( 4%)
 wall
  CSE 2                 :   1.40 ( 1%) usr   0.14 ( 0%) sys   1.62 ( 1%)
 wall
  branch prediction     :   0.95 ( 1%) usr   0.00 ( 0%) sys   0.94 ( 0%)
 wall
  flow analysis         :   0.89 ( 1%) usr   0.10 ( 0%) sys   1.06 ( 0%)
 wall
  combiner              :   0.81 ( 1%) usr   0.15 ( 1%) sys   1.25 ( 1%)
 wall
  if-conversion         :   0.42 ( 0%) usr   0.01 ( 0%) sys   0.69 ( 0%)
 wall
  regmove               :   0.38 ( 0%) usr   0.02 ( 0%) sys   0.56 ( 0%)
 wall
  mode switching        :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%)
 wall
  local alloc           :   2.13 ( 1%) usr   0.60 ( 2%) sys   4.38 ( 2%)
 wall
  global alloc          :   2.23 ( 1%) usr   0.23 ( 1%) sys   3.31 ( 1%)
 wall
  reload CSE regs       :   2.30 ( 2%) usr   0.20 ( 1%) sys   2.88 ( 1%)
 wall
  flow 2                :   0.63 ( 0%) usr   0.11 ( 0%) sys   0.94 ( 0%)
 wall
  if-conversion 2       :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%)
 wall
  peephole 2            :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%)
 wall
  rename registers      :   0.29 ( 0%) usr   0.02 ( 0%) sys   0.25 ( 0%)
 wall
  scheduling 2          :   1.30 ( 1%) usr   0.13 ( 0%) sys   1.94 ( 1%)
 wall
  reorder blocks        :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%)
 wall
  shorten branches      :   0.42 ( 0%) usr   0.04 ( 0%) sys   0.62 ( 0%)
 wall
  final                 :   0.52 ( 0%) usr   0.02 ( 0%) sys   0.56 ( 0%)
 wall
  symout                :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%)
 wall
  rest of compilation   :   8.59 ( 6%) usr   0.20 ( 1%) sys  11.62 ( 5%)
 wall
  TOTAL                 : 149.26            29.92           228.50
 
 which is a lot better than before, but still
 compared to g++-3.2 (GCC) 3.2.3 20030313 (prerelease) numbers:
 
 Execution times (seconds)
  cfg construction      :   0.14 ( 1%) usr   0.02 ( 3%) sys   0.44 ( 2%)
 wall
  cfg cleanup           :   0.19 ( 2%) usr   0.00 ( 0%) sys   0.38 ( 1%)
 wall
  life analysis         :   0.31 ( 3%) usr   0.05 ( 7%) sys   0.62 ( 2%)
 wall
  life info update      :   0.05 ( 0%) usr   0.02 ( 3%) sys   0.19 ( 1%)
 wall
  preprocessing         :   0.28 ( 3%) usr   0.11 (16%) sys   4.88 (19%)
 wall
  lexical analysis      :   0.24 ( 2%) usr   0.06 ( 9%) sys   0.56 ( 2%)
 wall
  parser                :   2.42 (24%) usr   0.20 (30%) sys   3.88 (15%)
 wall
  expand                :   0.96 ( 9%) usr   0.04 ( 6%) sys   1.94 ( 8%)
 wall
  varconst              :   0.12 ( 1%) usr   0.00 ( 0%) sys   0.31 ( 1%)
 wall
  integration           :   0.27 ( 3%) usr   0.04 ( 6%) sys   0.56 ( 2%)
 wall
  jump                  :   0.14 ( 1%) usr   0.00 ( 0%) sys   0.25 ( 1%)
 wall
  CSE                   :   2.25 (22%) usr   0.02 ( 3%) sys   4.50 (18%)
 wall
  global CSE            :   0.17 ( 2%) usr   0.01 ( 1%) sys   0.62 ( 2%)
 wall
  loop analysis         :   0.14 ( 1%) usr   0.01 ( 1%) sys   0.38 ( 1%)
 wall
  CSE 2                 :   0.73 ( 7%) usr   0.00 ( 0%) sys   1.12 ( 4%)
 wall
  flow analysis         :   0.08 ( 1%) usr   0.00 ( 0%) sys   0.25 ( 1%)
 wall
  combiner              :   0.14 ( 1%) usr   0.01 ( 1%) sys   0.38 ( 1%)
 wall
  if-conversion         :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 1%)
 wall
  regmove               :   0.09 ( 1%) usr   0.00 ( 0%) sys   0.12 ( 0%)
 wall
  mode switching        :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 1%)
 wall
  local alloc           :   0.21 ( 2%) usr   0.00 ( 0%) sys   0.31 ( 1%)
 wall
  global alloc          :   0.25 ( 2%) usr   0.00 ( 0%) sys   0.50 ( 2%)
 wall
  reload CSE regs       :   0.14 ( 1%) usr   0.01 ( 1%) sys   0.31 ( 1%)
 wall
  flow 2                :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 1%)
 wall
  if-conversion 2       :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%)
 wall
  peephole 2            :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.25 ( 1%)
 wall
  rename registers      :   0.07 ( 1%) usr   0.00 ( 0%) sys   0.12 ( 0%)
 wall
  scheduling 2          :   0.26 ( 3%) usr   0.02 ( 3%) sys   0.75 ( 3%)
 wall
  reorder blocks        :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%)
 wall
  shorten branches      :   0.02 ( 0%) usr   0.01 ( 1%) sys   0.06 ( 0%)
 wall
  final                 :   0.05 ( 0%) usr   0.03 ( 4%) sys   0.31 ( 1%)
 wall
  rest of compilation   :   0.24 ( 2%) usr   0.00 ( 0%) sys   0.50 ( 2%)
 wall
  TOTAL                 :  10.16             0.67            25.44
 
 this is a regression by a factor of more than 10x.
 
 Richard.
 
 --
 Richard Guenther <richard dot guenther at uni-tuebingen dot de>
 WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
 
 
 
 


             reply	other threads:[~2003-03-24 13:46 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-24 13:46 Richard Guenther [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-04-23 15:46 mmitchel
2003-04-08 14:46 Richard Guenther
2003-04-08 11:06 Steven Bosscher
2003-04-08 11:06 Richard Guenther
2003-04-08  9:56 Steven Bosscher
2003-04-07 15:06 Steven Bosscher
2003-03-24 18:26 mmitchel
2003-03-24  8:36 mmitchel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030324134601.8644.qmail@sources.redhat.com \
    --to=rguenth@tat.physik.uni-tuebingen.de \
    --cc=gcc-prs@gcc.gnu.org \
    --cc=nobody@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).