This is the mail archive of the binutils@sources.redhat.com 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: parallelized 'ld'?


The more interesting question you should ask is "what makes our ld's
so slow?", to be asked just after "how slow is it?".  

You're doing a bunch of additions to relocate stuff, but in a
10,000,000-line C program, how much time are we talking about?
Suppose it's 100,000,000 additions (which I think is a very high
estimate).  Just how much processor time does it take to extract a bit
field, increment its contents, and store it back 100,000,000 times?
I'm glad you asked: on my several-year old UltraSparc, about 4
seconds.  How about the time to perform, let's say, 10,000,000
external-symbol lookups and definitions using a hashtable?  Using G++
strings and hash_maps, perhaps 25 seconds on the same equipment.  How
about to read and write 20MB of .o and executable files?  About a
second.  What kinds of numbers are you seeing for object file sizes
and ld times?

Paul Hilfinger



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