Skip site navigation (1)Skip section navigation (2)
Date:      21 Jun 1999 18:38:31 +0200
From:      Torbjorn Granlund <tege@swox.com>
To:        Jason Thorpe <thorpej@nas.nasa.gov>
Cc:        John Polstra <jdp@polstra.com>, alpha@FreeBSD.ORG
Subject:   Re: Significant speedups from -mcpu=ev56
Message-ID:  <861zf5tsoo.fsf@puh.swox.se>
In-Reply-To: Jason Thorpe's message of "Mon, 21 Jun 1999 09:22:42 -0700"
References:  <199906211622.JAA17658@lestat.nas.nasa.gov>

next in thread | previous in thread | raw e-mail | index | archive | help
Jason Thorpe <thorpej@nas.nasa.gov> writes:

  On Mon, 21 Jun 1999 09:00:59 -0700 (PDT) 
   John Polstra <jdp@polstra.com> wrote:
  
   > It's still a _lot_ slower than my PII/400 (3394.29 real 2370.84 user
   > 506.85 sys).
  
  Building a source tree is a really poor measure of relative performance
  when you're comparing CISC to RISC.  In the latter case, the compiler
  does a whole lot more work at compile time.
  
Agreed.  If you build some cross compilers for various targets on the same
host, you'll notice that the speed difference between GCC backends is very
significant.  I measured a factor of ~5 once between x86 and a RISC target
(HPPA).

The reasons are complex, but one thing that makes GCC run slow is a large
number of registers.  There are thousands of loops in GCC that loops over
the register numbers.  But that is just part of the explanation.  There have
been cases in the past where some silly code in a backend has taken most of
the compile time!

If you unvoke cc1 directly (`gcc -v foo.c' will show you how to do that) but
leave out the -quiet option, you'll see a timing profile for the various GCC
passes.  Doing that for different backends gives an idea of the variation.

-- 
Torbjörn


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?861zf5tsoo.fsf>