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/
next 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: linkBe 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).