This is the mail archive of the
mailing list for the GCC project.
Re: inline-limit: some experimental feedback
- To: Gerald Pfeifer <pfeifer at dbai dot tuwien dot ac dot at>
- Subject: Re: inline-limit: some experimental feedback
- From: Daniel Berlin <dan at cgsoftware dot com>
- Date: Wed, 22 Aug 2001 08:23:25 -0400
- Cc: Daniel Berlin <dan at cgsoftware dot com>,Mark Mitchell <mark at codesourcery dot com>,Bernd Schmidt <bernds at redhat dot com>,"Richard dot Kreckel at uni-mainz dot de" <Richard dot Kreckel at uni-mainz dot de>,<gcc at gcc dot gnu dot org>
- References: <Pine.BSF.firstname.lastname@example.org>
Gerald Pfeifer <email@example.com> writes:
> On Tue, 21 Aug 2001, Daniel Berlin wrote:
> > Errr, they are due to not inlining iterators, because we hit the
>> inlining limit.
>> I've verified this through profiling his applications.
>> What happens is we don't inline things where the call cost is less
>> than the cost to just inline, which happens quite often with
>> iterators, because we've already hit the various inlining limits.
> Bad, but something like that had to be the cause, else I wouldn't
> have suffered from such an incredible slow-down.
>> This is the main missing heuristic.
> Would this be hard to implement? Actually, didn't you have a patch
> addressing this?
>> Without it, you need to crank up the inline limit enough to get all
>> the functions where call cost exceeds inline cost to be inlined.
>> When you do that, you generate enough excess code to slow down
>> compilation by a large amount.
> Though, even if I set the limit to 10000, the generated code is still
> measurably slower than for GCC 2.95.x.
Code bloat isn't good for cache behavior, etc, either.
> Again, I'm willing to hand out our sources including a benchmark suite
> who's interested to work on this, and I can also try patches and perform
> such benchmarks by myself.
> Gerald "Jerry" firstname.lastname@example.org http://www.dbai.tuwien.ac.at/~pfeifer/
"All the plants in my house are dead -- I shot them last night.
I was torturing them by watering them with ice cubes.