Patch to improve assemble time for files with large number of sections and section groups.
Martin Thuresson
martint@google.com
Thu Sep 10 01:07:00 GMT 2009
This patch adds two hashmaps to avoid the N^2 complexity of
scanning lists to find object. In obj-elf.c, group names are
mapped to indexes into an array, and in dwarf2dbg.c segment
names are mapped to segments.
For inputs with ~40k sections, this patch reduces the assembly
time from 3min to 15s on builds with debug information. It does
this at the expense of increase memory usage. In my example, it
increased from 405MB to 640MB.
Tested with x86_64-linux arm-eabi with no regressions seen on
check, check-gas.
Thanks,
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hash.patch
Type: text/x-patch
Size: 5493 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20090910/f172accd/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hash.changelog
Type: application/octet-stream
Size: 420 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20090910/f172accd/attachment.obj>
More information about the Binutils
mailing list