public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Vladimir Makarov <vmakarov@redhat.com>
To: Robert Dewar <dewar@adacore.com>
Cc: Duncan Sands <baldrick@free.fr>,
	Steven Bosscher <stevenb.gcc@gmail.com>,
	        gcc@gcc.gnu.org
Subject: Re: Some benchmark comparison of gcc4.5 and dragonegg (was dragonegg    in FSF gcc?)
Date: Wed, 21 Apr 2010 17:21:00 -0000	[thread overview]
Message-ID: <4BCF334B.9060708@redhat.com> (raw)
In-Reply-To: <4BCF2E50.2050309@adacore.com>

Robert Dewar wrote:
> Vladimir Makarov wrote:
>> Duncan Sands wrote:
>>> Hi Steven,
>>>
>>>>> I think Jack wasn't suggesting that dragonegg should be changed to 
>>>>> not be
>>>>> a plugin any more.  I think he was suggesting that it should live 
>>>>> in the gcc
>>>>> repository rather than the LLVM repository.
>>>> So, no offense, but the suggestion here is to make this subversive
>>>> (for FSF GCC) plugin part of FSF GCC? What is the benefit of this for
>>>> GCC? I don't see any. I just see a plugin trying to piggy-back on the
>>>> hard work of GCC front-end developers and negating the efforts of
>>>> those working on the middle ends and back ends.
>>> I'm sorry you see the dragonegg project so negatively.  I think it 
>>> is useful
>>> for gcc (though not hugely useful), since it makes it easy to 
>>> compare the gcc
>>> and LLVM optimizers and code generators, not to mention the gcc and 
>>> LLVM
>>> approaches to LTO.  If LLVM manages to produce better code than gcc 
>>> for some
>>> testcase, then it is a convenient tool for the gcc devs to find out 
>>> why, and
>>> improve gcc.  If gcc is consistently better than LLVM then there's 
>>> nothing to
>>> worry about!  Of course, right now it is LLVM that is mostly playing 
>>> catchup
>>> with gcc, so for the moment it is principally the LLVM devs that get 
>>> to learn
>>> from gcc, but as LLVM improves the other direction is likely to 
>>> occur more
>>> often.
>> I've tried to compare gcc4.5 and dragonegg a week ago on SPEC2000 on 
>> a Core I7.
>> Here are some results.
>>
>>   Only SPECIn2000 for x86_64 has been compiled fully successfully by
>> dragonegg.  There were a few compiler crashes including some in LLVM
>> itself for SPECFP2000 and for SPECINT2000 for x86.
>>
>> So here is SPECInt2000 for x86_64 comparison:
>>
>> dragonegg: -O3 (with LLVM release build)
>> gcc4.5: -O3 -flto (--enable-checking=release)
>>
>>           Compilation Time  SPECINT2000
>> Dragonegg 122.85user         2572
>> gcc-4.5   283.49user         2841
>>
>>   On integer benchmarks, dragonegg generates about 11% slower code.
>> One interesting thing is that dragonegg is a really fast compiler.  It
>> is 2.3 times faster than gcc.
>
> Actually for my taste, you have to get a MUCH bigger factor in compile
> time before you can call yourself a fast compiler (Realia COBOL by
> comparison compiles millions of lines a minute of code on current
> PC's, using just one core). GCC has taken a decision to favor
> performance of the code absolutely over compiler performance.
> That's not such a bad bet given how fast machines are getting.
> So I think this compile time advantage is not that interesting.
For me definitely.  Also as I wrote I would not be too much worried 
about it.  GCC looks good in comparison with other industrial compiler 
with compile time (and code size too) point of view. Here I mean Intel, 
SunStudio, PathScale, Open64 ones.
>
>>
>> Draggonegg generates smaller text sections but bigger data sections.
>> Unfortunately, my scripts measure and compare only text sections.  
>> Therefore
>> I am not posting this text code size comparison because it has no 
>> sense.  But looking
>> at small benchmarks, I got an impression that gcc generates smaller 
>> code (text + data)
>> in general than dragonegg.
>
> Usually you will find that to a first order approximation, speed and
> size are linearly related.
>
I am agree with this for moderately optimizing compilers.  But for 
highly optimizing compilers it might be no true.  Intel generates much 
better and bigger code than gcc.  Although it might be mostly because of 
code versioning  (including one for different subtargets).

  parent reply	other threads:[~2010-04-21 17:17 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-09 16:44 dragonegg in FSF gcc? Jack Howarth
2010-04-09 18:16 ` Basile Starynkevitch
2010-04-10 13:37   ` Duncan Sands
2010-04-11 12:54     ` Steven Bosscher
2010-04-11 14:17       ` Duncan Sands
2010-04-11 14:57         ` Eric Botcazou
2010-04-11 15:41           ` Duncan Sands
2010-04-11 15:56             ` Robert Dewar
2010-04-11 16:02             ` Grigori Fursin
2010-04-11 16:02               ` Robert Dewar
2010-04-11 16:28                 ` Duncan Sands
2010-04-11 16:31                   ` Robert Dewar
2010-04-13 16:58                   ` Paolo Bonzini
2010-04-11 18:15                 ` Andi Kleen
2010-04-11 16:26               ` Duncan Sands
2010-04-11 16:26                 ` Robert Dewar
2010-04-11 16:34                   ` Duncan Sands
2010-04-11 17:47                     ` Robert Dewar
2010-04-11 16:37                 ` Grigori Fursin
2010-04-11 18:50             ` Toon Moene
2010-04-11 21:43             ` Eric Botcazou
2010-04-11 16:32         ` Basile Starynkevitch
2010-04-21 16:52         ` Some benchmark comparison of gcc4.5 and dragonegg (was dragonegg in FSF gcc?) Vladimir Makarov
2010-04-21 17:00           ` Robert Dewar
2010-04-21 17:09             ` Steven Bosscher
2010-04-21 17:57               ` Paolo Bonzini
2010-04-21 18:28                 ` Robert Dewar
2010-04-21 18:09               ` Robert Dewar
2010-04-22 10:24                 ` Laurent GUERBY
2010-04-21 18:37               ` Basile Starynkevitch
2010-04-21 18:40                 ` Robert Dewar
2010-04-21 17:21             ` Vladimir Makarov [this message]
2010-04-21 18:23               ` Robert Dewar
2010-04-21 20:54                 ` Vladimir Makarov
2010-04-22  6:19                   ` Robert Dewar
2010-04-22 18:44                     ` Vladimir Makarov
2010-04-21 20:58             ` Toon Moene
2010-04-22  6:29               ` Robert Dewar
2010-04-21 17:05           ` Steven Bosscher
2010-04-21 17:10             ` Vladimir Makarov
2010-04-21 17:55               ` Manuel López-Ibáñez
2010-04-21 18:32                 ` Robert Dewar
2010-04-21 19:03                   ` Eric Botcazou
2010-04-21 17:42           ` Chris Lattner
2010-04-21 18:19             ` Vladimir Makarov
2010-04-21 18:25               ` Chris Lattner
2010-04-21 18:41                 ` Vladimir Makarov
2010-04-21 19:35               ` Duncan Sands
2010-04-21 18:01           ` Duncan Sands
2010-04-21 18:19             ` Vladimir Makarov
2010-04-11 14:30       ` dragonegg in FSF gcc? Jack Howarth
2010-04-11 15:36         ` Manuel López-Ibáñez
2010-04-11 16:33           ` Dave Korn
2010-04-11 19:06             ` Laurent GUERBY
2010-04-11 22:19             ` Manuel López-Ibáñez
2010-04-11 22:26               ` Dave Korn
2010-04-12  7:34                 ` Manuel López-Ibáñez
2010-04-12 13:38                   ` Jack Howarth
2010-04-12 13:42                     ` Robert Dewar
2010-04-12 13:52                     ` Richard Guenther
2010-04-12 14:00                       ` Jack Howarth
2010-04-12 15:59                         ` Steven Bosscher
2010-04-12 16:03                           ` Jack Howarth
2010-04-12 16:27                             ` Steven Bosscher
2010-04-12 18:03                               ` Dave Korn
2010-04-12 14:00                   ` Dave Korn
2010-04-12 14:47                     ` Manuel López-Ibáñez
2010-04-12 17:58                       ` Weddington, Eric
2010-04-12 21:13                         ` Toon Moene
2010-04-12 22:51                         ` Ian Lance Taylor
2010-04-23 13:50                           ` Poor internal documentation (was: dragonegg in FSF gcc?) Philipp Thomas
2010-04-23 14:26                             ` Manuel López-Ibáñez
2010-04-24 19:07                               ` Documentation legal issues (Was: Re: Poor internal documentation) Joern Rennecke
2010-06-05 10:10                               ` Poor internal documentation (was: dragonegg in FSF gcc?) Philipp Thomas
2010-06-05 13:17                                 ` Jonathan Wakely
2010-04-13 17:15                     ` dragonegg in FSF gcc? Paolo Bonzini
2010-04-13 17:18                       ` Jack Howarth
2010-04-13 17:22                         ` Paolo Bonzini
2010-04-13 19:19                           ` Jack Howarth
2010-04-13 19:43                             ` Paolo Bonzini
2010-04-13 20:29                             ` Diego Novillo
2010-04-13 21:04                               ` Steven Bosscher
2010-04-13 21:16                                 ` Diego Novillo
2010-04-14 14:06                                   ` Grigori Fursin
2010-04-13 18:05                         ` Steven Bosscher
2010-04-13 19:26                           ` Andrew Pinski
2010-04-13 19:28                             ` Jack Howarth
2010-04-13 17:05             ` Paolo Bonzini
2010-04-13 21:06               ` Testing GCC on Cygwin made substantially easier [was Re: dragonegg in FSF gcc?] Dave Korn
2010-05-26  9:37                 ` Laurynas Biveinis
2010-04-13 23:11         ` dragonegg in FSF gcc? Steven Bosscher
2010-04-13 23:43           ` Jack Howarth
2010-04-14  6:48           ` Duncan Sands
2010-04-14 13:54             ` Jack Howarth
2010-04-14 13:59               ` Paolo Bonzini
2010-04-11 14:33       ` Jack Howarth
2010-04-11 15:06         ` David Edelsohn
2010-04-11 15:24           ` Jack Howarth
2010-04-11 16:17           ` Duncan Sands
2010-04-11 16:20             ` Jack Howarth
2010-04-11 22:48               ` Jonathan Wakely
2010-04-12 13:35                 ` Duncan Sands
2010-04-12 15:03                 ` Alfred M. Szmidt
2010-04-12 15:34                   ` Jack Howarth

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=4BCF334B.9060708@redhat.com \
    --to=vmakarov@redhat.com \
    --cc=baldrick@free.fr \
    --cc=dewar@adacore.com \
    --cc=gcc@gcc.gnu.org \
    --cc=stevenb.gcc@gmail.com \
    /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).