This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: parallelized 'ld'?
- From: Paul Hilfinger <hilfingr at EECS dot Berkeley dot EDU>
- To: Cynbe ru Taren <cynbe at muq dot org>
- Cc: binutils at sources dot redhat dot com
- Date: Mon, 14 Jul 2003 19:34:53 -0700
- Subject: 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