parallelized 'ld'?
Paul Hilfinger
hilfingr@EECS.Berkeley.EDU
Tue Jul 15 02:35:00 GMT 2003
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
More information about the Binutils
mailing list