This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [patch] ld speedup 1/3 (suffix merge)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Michael Matz <matz at suse dot de>
- Cc: Alan Modra <amodra at bigpond dot net dot au>, binutils at sources dot redhat dot com, Lars Knoll <lars at trolltech dot com>
- Date: Wed, 10 Sep 2003 08:52:00 +0200
- Subject: Re: [patch] ld speedup 1/3 (suffix merge)
- References: <20030909150800.GU1443@bubble.modra.org> <Pine.LNX.4.44.0309091743500.13736-100000@wotan.suse.de>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Tue, Sep 09, 2003 at 06:06:06PM +0200, Michael Matz wrote:
> With a debug build the objects don't fit completely in the disc cache,
> hence the larger real time, that user time. For entertainment here the
> sizes of the three binaries in debug build:
>
> 4713844 2003-09-09 17:11 assistant
> 34832011 2003-09-09 17:11 designer
> 64162740 2003-09-09 17:11 libqt-mt.so.3.2.1
>
> This patch doesn't introduce any regressions (and we use the whole
> patchset in our distribution since some time, additionally of having it
> tested by some dozen KDE developers). I'll cleanup and submit the other
> two changes in some hours. Copyright assignment of Lars and me should be
> on the way.
>
>
> Ciao,
> Michael.
>
> 2003-09-09 Lars Knoll <lars@trolltech.com>
> Michael Matz <matz@suse.de>
>
> * merge.c (cmplengthentry, last4_eq, last_eq): Delete.
> (strrevcmp, is_suffix): New.
> (merge_strings): Use them to implement fast suffix merging.
> * elf-strtab.c (cmplengthentry, last4_eq): Delete.
> (strrevcmp, is_suffix): New.
> (_bfd_elf_strtab_finalize): Rework to implement fast suffix merging.
Nice. Have you also compared the sizes of resulting .rodata/.debug_str/.dynstr
sections created by ld before and after your patch?
When I submitted merge.c I had in mind small .rodata.str* sections
so didn't care much about its speed; .debug_str which is typically way bigger
came later.
Jakub