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: [patch] ld speedup 1/3 (suffix merge)


>>>>> On Tue, 9 Sep 2003 18:06:06 +0200 (CEST), Michael Matz <matz at suse dot de> said:

  Michael> One of those changes was using a non-quadratic string
  Michael> suffix merge, patch is below.  The result looks like so
  Michael> (binutils compiled without optimizations, time for linking
  Michael> libqt.so, assistant and designer, ld.cvs is the ld as it
  Michael> falls out of CVS HEAD, ld.strmerge is CVS with the below
  Michael> patch):

By coincidence, I ended up profiling ld on ia64 kernel builds tonight
and (fortunately), I saw your post before spending time to try to
improve performance myself.  The results below are for a largish
kernel, with debugging & kallsyms enabled (i.e., kernel gets actually
linked 3 times):

original (CVS) ld:	with your patch applied:

real    1m18.043s	real    0m30.134s
user    1m15.440s	user    0m25.248s
sys     0m1.643s	sys     0m1.756s

Me likee. ;-)

The resulting profile is still very lopsided (30% of time is spent in
sec_merge_hash_lookup), so there may be more opportunities to speed
things up, but your patch alone helps a great deal.

Thanks,

	--david


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