This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: new benchmark times on alpha
- To: Brad Lucier <lucier at math dot purdue dot edu>
- Subject: Re: new benchmark times on alpha
- From: Jan Hubicka <jh at suse dot cz>
- Date: Mon, 12 Nov 2001 14:22:57 +0100
- Cc: Jan Hubicka <jh at suse dot cz>, gcc at gcc dot gnu dot org
- References: <20011111145436.A8668@atrey.karlin.mff.cuni.cz> <200111111843.fABIhZm05512@banach.math.purdue.edu>
> > OK, I may take a look at that example.
> >
> > Honza
> > >
> > > The .i file for the most egregious compile-time problems is at
> > >
> > > http://www.math.purdue.edu/~lucier/scheme.i.gz
> > >
> > > Brad Lucier
>
> It seems to be relatively easy to isolate the problem pass here ;-):
>
> popov-15% /export/u10/gcc-3.1/lib/gcc-lib/alphaev6-unknown-linux-gnu/3.1/cc1 -I../../../lib -O2 -W -Wall -Wno-unused -Wdisabled-optimization -fno-math-errno -fno-strict-aliasing -mcpu=ev6 -fomit-frame-pointer scheme.i
> ___H__20_scheme {GC 22338k -> 5849k} {GC 44113k -> 5438k} {GC 8029k -> 5861k} {GC 8882k -> 6508k} {GC 10519k -> 5394k} {GC 7447k -> 5989k} {GC 12330k -> 6716k} ___init_proc ____20_scheme
> Execution times (seconds)
> garbage collection : 0.76 ( 1%) usr 0.02 ( 2%) sys 1.25 ( 1%) wall
> cfg construction : 0.40 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 0%) wall
> cfg cleanup : 80.13 (76%) usr 0.00 ( 0%) sys 80.00 (75%) wall
> life analysis : 0.82 ( 1%) usr 0.00 ( 0%) sys 1.00 ( 1%) wall
> life info update : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
> preprocessing : 0.27 ( 0%) usr 0.07 ( 5%) sys 0.25 ( 0%) wall
> lexical analysis : 0.30 ( 0%) usr 0.14 (11%) sys 0.50 ( 0%) wall
> parser : 1.09 ( 1%) usr 0.12 ( 9%) sys 1.25 ( 1%) wall
> expand : 0.41 ( 0%) usr 0.01 ( 1%) sys 0.25 ( 0%) wall
> varconst : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
> jump : 0.69 ( 1%) usr 0.04 ( 4%) sys 0.75 ( 1%) wall
> CSE : 1.62 ( 2%) usr 0.00 ( 0%) sys 1.50 ( 1%) wall
> global CSE : 5.18 ( 5%) usr 0.16 (13%) sys 5.25 ( 5%) wall
> loop analysis : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
> CSE 2 : 0.60 ( 1%) usr 0.00 ( 0%) sys 0.50 ( 0%) wall
> flow analysis : 0.30 ( 0%) usr 0.01 ( 1%) sys 0.25 ( 0%) wall
> combiner : 0.48 ( 0%) usr 0.00 ( 0%) sys 0.50 ( 0%) wall
> if-conversion : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 0%) wall
> regmove : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
> scheduling : 6.73 ( 6%) usr 0.62 (50%) sys 7.50 ( 7%) wall
> local alloc : 0.44 ( 0%) usr 0.00 ( 0%) sys 0.50 ( 0%) wall
> global alloc : 0.71 ( 1%) usr 0.02 ( 1%) sys 0.75 ( 1%) wall
> reload CSE regs : 3.25 ( 3%) usr 0.01 ( 1%) sys 3.25 ( 3%) wall
> flow 2 : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) 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.00 ( 0%) wall
> scheduling 2 : 0.37 ( 0%) usr 0.01 ( 1%) sys 0.25 ( 0%) wall
> reorder blocks : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
> shorten branches : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
> final : 0.20 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 0%) wall
> rest of compilation : 0.29 ( 0%) usr 0.00 ( 0%) sys 0.50 ( 0%) wall
> TOTAL : 105.68 1.25 106.75
>
Actually I am getting different results on i386, so I guess I will need some
more help from your side. The timming of cfg cleanup (3.40) is less than 2.96's
jump pass needs.
I will try to build Alpha cross now.
___H__20_scheme {GC 11036k -> 2990k} {GC 5363k -> 2904k} {GC 5739k -> 2793k} {GC 7405k -> 3345k} ___init_proc ____20_scheme
Execution times (seconds)
garbage collection : 0.38 ( 1%) usr 0.00 ( 0%) sys 0.42 ( 1%) wall
cfg construction : 0.83 ( 2%) usr 0.01 ( 1%) sys 0.84 ( 2%) wall
cfg cleanup : 3.40 ( 9%) usr 0.00 ( 0%) sys 3.47 ( 9%) wall
life analysis : 1.30 ( 4%) usr 0.00 ( 0%) sys 1.36 ( 4%) wall
life info update : 0.27 ( 1%) usr 0.00 ( 0%) sys 0.28 ( 1%) wall
preprocessing : 0.38 ( 1%) usr 0.12 (14%) sys 0.64 ( 2%) wall
lexical analysis : 0.49 ( 1%) usr 0.21 (24%) sys 0.77 ( 2%) wall
parser : 1.55 ( 4%) usr 0.17 (20%) sys 1.59 ( 4%) wall
expand : 0.58 ( 2%) usr 0.02 ( 2%) sys 0.61 ( 2%) wall
varconst : 0.10 ( 0%) usr 0.01 ( 1%) sys 0.08 ( 0%) wall
jump : 0.84 ( 2%) usr 0.07 ( 8%) sys 0.91 ( 2%) wall
CSE : 2.45 ( 7%) usr 0.00 ( 0%) sys 2.53 ( 7%) wall
global CSE : 10.53 (29%) usr 0.16 (18%) sys 10.81 (28%) wall
loop analysis : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall
CSE 2 : 0.90 ( 2%) usr 0.00 ( 0%) sys 0.91 ( 2%) wall
flow analysis : 0.43 ( 1%) usr 0.02 ( 2%) sys 0.45 ( 1%) wall
combiner : 0.54 ( 1%) usr 0.00 ( 0%) sys 0.55 ( 1%) wall
if-conversion : 0.03 ( 0%) usr 0.01 ( 1%) sys 0.03 ( 0%) wall
regmove : 0.26 ( 1%) usr 0.00 ( 0%) sys 0.27 ( 1%) wall
mode switching : 0.14 ( 0%) usr 0.02 ( 2%) sys 0.14 ( 0%) wall
local alloc : 0.64 ( 2%) usr 0.00 ( 0%) sys 0.62 ( 2%) wall
global alloc : 2.57 ( 7%) usr 0.02 ( 2%) sys 2.61 ( 7%) wall
reload CSE regs : 5.74 (16%) usr 0.00 ( 0%) sys 5.89 (15%) wall
flow 2 : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%) wall
if-conversion 2 : 0.29 ( 1%) usr 0.00 ( 0%) sys 0.30 ( 1%) wall
peephole 2 : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall
scheduling 2 : 0.82 ( 2%) usr 0.00 ( 0%) sys 0.81 ( 2%) wall
reorder blocks : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
shorten branches : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall
final : 0.24 ( 1%) usr 0.02 ( 2%) sys 0.25 ( 1%) wall
rest of compilation : 0.40 ( 1%) usr 0.00 ( 0%) sys 0.38 ( 1%) wall
TOTAL : 36.60 0.87 38.02