This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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: "ld -r" on mixed IR/non-IR objects (


On Thu, Dec 09, 2010 at 02:34:27AM +0000, Dave Korn wrote:
> On 08/12/2010 18:40, Andi Kleen wrote:
> 
> > Fat LTO is just too slow. I suspect with that kind of performance
> > penalty most people simply would not use it at all.
> 
>   How slow is "too" slow?  How many people out of a hundred won't use it?  Got
> numbers, or just a gut feeling?

I didn't do a survey if that's what you're asking.

It depends on what tree you use. Before Honza's rebalancing fixes
it was really bad, especially with the tendency to run out of memory
on a 3-4GB system and swap a lot (or generate too many temporary files 
and when you use tmpfs in ram that amounts to the same)

There were also some problems that I had to limit parallelism
below what my machine could do to run out of memory, but that also got 
better in mainline.

Anyways with a recent 4.6 saw slowdowns in compilation of ~2.5x
which is imho too slow. If it was < 1.5x or so things would be
more acceptable I think, especially if the resulting code
is significantly better.

I believe Honza's gcc summit paper has more numbers:

There seem to be also some other bottlenecks currently,
like too much redundant information in the LTO files,
which causes too much IO time.

I haven't done detailed numbers again, but I expect slim LTO
and when the other problems are fixed to be significantly 
faster and have a chance to be below 1.5. There's still
some work to be done in all of these areas.

The memory consumption issue probably also
still needs some work, right now it's still too easy
to start swapping.

With slim LTO there's also some other avenues of speeding
up available, for example it would be pretty simple to not
call the assembler for the LTO generating stages but
just write object files directly. I'm not fully sure
how much this would buy.

-Andi
-- 
ak@linux.intel.com -- Speaking for myself only.


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