This is the mail archive of the gcc-patches@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: [PATCH, middle-end] Switch initializations conversion (take four)


On Fri, Feb 29, 2008 at 12:07:05PM -0800, Mark Mitchell wrote:
> Optimization is a quantitative question: the whole point is to make the 
> program smaller, faster, etc.  So, all non-obvious optimization patches 
> should come with quantitative information, in addition to qualitative 
> information.
>
> In particular, which benchmark(s), on which platform(s), with which flags 
> did you use to measure improvement?  And how much improvement did you see?  
> And, what benchmark(s) on which platforms which which flags did you use to 
> measure costs?  And how high were the costs?

So far I have only managed to  find out how many and what switches get
converted during GCC bootstrap (this time all languages including ADA)
on i386 Linux. 177 conversions take  place (59 twice and 1 once during
the whole  process). The exact  switches as reported  by EXPR_LOCATION
are listed in http://misc.jamborm.net/cswtch.log  

I did not  include the numbers with my last post  because I've sent my
previous results  here in August  and I know  I did not get  any worse
than that. In  fact, since I now do the  conversion before inlining, I
certainly do a better job than before.

In summer I  was not able to measure  any compilation/runtime slowdown
that could not  be accounted for the noise.  I do  not expect this has
changed either.   However, I will re-measure  that too so  that I have
the numbers.

All  in all,  even  though  the transformation  does  not bring  about
record-breaking speedups,  it does make  the code nicer  (which helps,
for  example the  inliner in  cases like  PR34708) and  I  believe the
cost/benefit ratio is favorable.

As far  as maintaining  is concerned,  I strive hard  to make  gcc the
central part of my work so I  am willing to take care of this pass for
the foreseeable future.

I will try to come up with some time measurements soon.

Martin


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