This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Faster compilation speed
- From: Jeff Sturm <jsturm at one-point dot com>
- To: Richard dot Earnshaw at arm dot com
- Cc: David Edelsohn <dje at watson dot ibm dot com>, Richard Henderson <rth at redhat dot com>, "David S. Miller" <davem at redhat dot com>, <gcc at gcc dot gnu dot org>
- Date: Tue, 20 Aug 2002 16:42:31 -0400 (EDT)
- Subject: Re: Faster compilation speed
On Tue, 20 Aug 2002, Richard Earnshaw wrote:
> > I had done that on alpha, but didn't initially report the figures. Would
> > a comparison to 2.95 also be useful?
>
> Certainly -- the numbers don't really mean anything unless we have
> something to compare them against.
I figured so. (Wow, I hadn't built a 2.95 toolchain in a long time.)
> > gcc version 3.3 20020802 (experimental)
> >
> > ---------------------------------------------------------------------------
> > cc1 -O2 reload.i
> >
> > issues/cycles = 0.51 issues/dcache_miss = 26.93 issues/dtb_miss = 1214.36
gcc version 2.95.3 20010315 (release)
cc1 -O2 reload.i
issues/cycles = 0.54 issues/dcache_miss = 26.31 issues/dtb_miss = 2488.
cc1 reload.i
issues/cycles = 0.52 issues/dcache_miss = 26.30 issues/dtb_miss = 3306.
Now that's interesting. No real change in L1 cache performance, but TLB
misses nearly cut in half vs. 3.3.
Trying L3 misses (both with -O0):
3.3: issues/bcache_miss = 370
2.95.3: issues/bcache_miss = 437
Wall-clock time is nearly 2/1 for these tests, as are TLB misses, while
other stats are close. Hmm.
> So if I understand these figures correctly, then
>
> dcache_miss/dtb_miss ~= 45
>
> That is, one in 45 dcache fetches also requires a tlb walk.
That's how I see it.
> How many dtb entries does an Alpha have?
No idea. This is an ev56. I could try grabbing the specs from Digital's
site, if I can still find it...
How expensive is a TLB miss, anyway? I hadn't expected it would occur
often enough in gcc to be significant. Note the IPC ratio stays constant,
but as I understand it, TLB is handled in software, so maybe those cycles
are counted by iprobe?
Jeff