This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Bootstrap times on mainline are getting worse


Hi Pop,
> > +2002-10-04  Roger Sayle  <roger@eyesopen.com>
> > +
> > +       * config/i386/i386.h (processor_costs): Add new fields fadd,
> > +       fmul, fdiv, fabs, fchs and fsqrt to costs structure.
> > +       (RTX_COSTS): Use these fields to determine the RTX costs
> > +       of floating point addition/subtraction, multiplication,
> > +       division, fabs, negation and square root respectively.
> > +       * config/i386/i386.c (size_cost): Provide instruction sizes
> > +       for these new fields.
> > +       (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
> > +       k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
> > +       counts for these new fields for all x86 processor variants.
> > +
> >
> A 'time make bootstrap' on version "2002-10-03" gives:
>
> real    57m38.632s
> user    51m20.200s
> sys     4m55.500s
>
> With this patch I get:
>
> real    58m16.766s
> user    51m14.720s
> sys     5m0.850s

Thanks for ruling out this patch as the cause of the performance
regression.  It reduces the CPU time by 6 seconds, and the change
in wall clock times, 3496 seconds vs. 3458 seconds, is 1% and far
less than the 6% regression we're looking for.  I'm guessing both
these timings are within the natural fluctuation (I won't take
credit for the 6s :)

I initially misread your posting as implying this patch was to
blame, and spent several minutes trying to work out how calling
FLOAT_TYPE_P (GET_MODE (X)) on a critical path would cause a
four minute slow down in bootstrap times.  GCC doesn't use host
floating point, so I came to the obvious conclussion that
RTX_COSTS must account for >5% of GCC's CPU time, but just
doesn't show up in profile.  Swift reality check and "Reductio
ad absurdum".

Many thanks for investigating this.  One down, a few more to go.

Roger
--


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]