[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/19739] New: ld.bfd performance regression
From: |
address@hidden |
Subject: |
[Bug ld/19739] New: ld.bfd performance regression |
Date: |
Sat, 27 Feb 2016 15:52:48 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=19739
Bug ID: 19739
Summary: ld.bfd performance regression
Product: binutils
Version: 2.26
Status: NEW
Severity: normal
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: address@hidden
Target Milestone: ---
ld.bfd -r on mips
When compiling object files with dwarf debug info the link time goes up
significantly. I suspect this is due to the large amount of sections.
I needed to reduce the amount of object files used in the example below because
otherwise it would just never stop.
Binutils 2.23.2, not very fast, but acceptable.
Samples: 8K of event 'cycles', Event count (approx.): 5959804941
64.81% ld-new ld-new [.] _bfd_elf_make_section_from_shdr
11.45% ld-new [kernel.kallsyms] [k] 0xffffffff8103ba6a
2.51% ld-new ld-new [.] walk_wild_section_general
1.62% ld-new libc-2.12.so [.] __gconv_transform_utf8_internal
Binutils 2.26
Samples: 214K of event 'cycles', Event count (approx.): 161542081964
68.51% ld-new ld-new [.] bfd_get_next_section_by_name
14.44% ld-new libc-2.12.so [.] __strcmp_sse42
10.75% ld-new ld-new [.] gldelf32btsmip_place_orphan
2.40% ld-new ld-new [.] _bfd_elf_make_section_from_shdr
1.67% ld-new [kernel.kallsyms] [k] 0xffffffff8103ba6a
│ for (sh = (struct section_hash_entry *) sh->root.next;
0.00 │ test %rbx,%rbx
│ ↓ je 50
│ sh != NULL;
│ sh = (struct section_hash_entry *) sh->root.next)
│ if (sh->root.hash == hash
0.78 │28: cmp %rbp,0x10(%rbx)
1.38 │ ↑ jne 20
│ && strcmp (sh->root.string, name) == 0)
85.90 │ mov 0x8(%rbx),%rdi
5.69 │ mov %r13,%rsi
0.01 │ → callq address@hidden
│ hash = sh->root.hash;
│ name = sec->name;
Is this sufficient information ?
Thanks
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/19739] New: ld.bfd performance regression,
address@hidden <=
- [Bug ld/19739] ld.bfd performance regression, address@hidden, 2016/02/27
- [Bug ld/19739] ld.bfd performance regression, markus at trippelsdorf dot de, 2016/02/27
- [Bug ld/19739] ld.bfd performance regression, markus at trippelsdorf dot de, 2016/02/27
- [Bug ld/19739] ld.bfd performance regression, address@hidden, 2016/02/27
- [Bug ld/19739] ld.bfd performance regression, markus at trippelsdorf dot de, 2016/02/27
- [Bug ld/19739] ld.bfd performance regression, address@hidden, 2016/02/28
- [Bug ld/19739] ld.bfd performance regression, markus at trippelsdorf dot de, 2016/02/28
- [Bug ld/19739] ld.bfd performance regression, hjl.tools at gmail dot com, 2016/02/28
- [Bug ld/19739] ld.bfd performance regression, address@hidden, 2016/02/28
- [Bug ld/19739] ld.bfd performance regression, hjl.tools at gmail dot com, 2016/02/28