mikesart at fastmail dot com
2018-06-14 06:11:01 UTC
https://sourceware.org/bugzilla/show_bug.cgi?id=23288
Bug ID: 23288
Summary: Symbol loading performance regression.
Product: gdb
Version: 8.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: symtab
Assignee: unassigned at sourceware dot org
Reporter: mikesart at fastmail dot com
Target Milestone: ---
I built chromium using the following instructions:
https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md
With gdb v8.0.1, starting gdb, setting a breakpoint on main, running to that
location, printing a backtrace and exiting takes 17 seconds on my machine:
$ time gdb --batch -q --ex "b main" --ex "r" --ex "bt" --args
out/Default/chrome
Turning off auto-solib-add takes 4.7 seconds:
$ time gdb --batch -q --ex "set auto-solib-add off" --ex "b main" --ex "r"
--ex "bt" --args out/Default/chrome
With gdb v8.1, the first test case with symbol loading is now 32 seconds. I've
narrowed it down to the following set of commits:
// 32 seconds
3f563c8 Optimize .gdb_index symbol name searching
// 20 seconds
b5ec771 Introduce lookup_name_info and generalize Ada's FULL/WILD name
matching
// 17 seconds
5ffa079 Per-language symbol name hashing algorithm
Notes:
I'm investigating symbol loading performance for Valve Software, where games
are having similar issues to Chromium. This makes it quite painful for
turnaround time with debugging sessions, even before this v8.1 regression.
Chromium loads 308 DSOs, all of which have .gdb_index sections.
Running w/ Debian Test:
Linux mikesart-cos 4.16.0-2-amd64 #1 SMP Debian 4.16.12-1 (2018-05-27) x86_64
GNU/Linux
Dual Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz, 128GB RAM
Thanks.
Bug ID: 23288
Summary: Symbol loading performance regression.
Product: gdb
Version: 8.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: symtab
Assignee: unassigned at sourceware dot org
Reporter: mikesart at fastmail dot com
Target Milestone: ---
I built chromium using the following instructions:
https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md
With gdb v8.0.1, starting gdb, setting a breakpoint on main, running to that
location, printing a backtrace and exiting takes 17 seconds on my machine:
$ time gdb --batch -q --ex "b main" --ex "r" --ex "bt" --args
out/Default/chrome
Turning off auto-solib-add takes 4.7 seconds:
$ time gdb --batch -q --ex "set auto-solib-add off" --ex "b main" --ex "r"
--ex "bt" --args out/Default/chrome
With gdb v8.1, the first test case with symbol loading is now 32 seconds. I've
narrowed it down to the following set of commits:
// 32 seconds
3f563c8 Optimize .gdb_index symbol name searching
// 20 seconds
b5ec771 Introduce lookup_name_info and generalize Ada's FULL/WILD name
matching
// 17 seconds
5ffa079 Per-language symbol name hashing algorithm
Notes:
I'm investigating symbol loading performance for Valve Software, where games
are having similar issues to Chromium. This makes it quite painful for
turnaround time with debugging sessions, even before this v8.1 regression.
Chromium loads 308 DSOs, all of which have .gdb_index sections.
Running w/ Debian Test:
Linux mikesart-cos 4.16.0-2-amd64 #1 SMP Debian 4.16.12-1 (2018-05-27) x86_64
GNU/Linux
Dual Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz, 128GB RAM
Thanks.
--
You are receiving this mail because:
You are on the CC list for the bug.
You are receiving this mail because:
You are on the CC list for the bug.