aboutsummaryrefslogtreecommitdiff
path: root/gdb/c-lang.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2022-07-20 17:22:15 +0200
committerMichael Matz <matz@suse.de>2023-01-20 14:58:04 +0100
commit1a528d3ef07fc6084fc51759c1b2f8abb5c8127e (patch)
treea8a6592b42048b515755cf3894427ff8ac88753f /gdb/c-lang.c
parent2e175383bfe010c05c55fb19e29b5c0665229a9c (diff)
downloadgdb-1a528d3ef07fc6084fc51759c1b2f8abb5c8127e.zip
gdb-1a528d3ef07fc6084fc51759c1b2f8abb5c8127e.tar.gz
gdb-1a528d3ef07fc6084fc51759c1b2f8abb5c8127e.tar.bz2
Faster string merging
* use power-of-two hash table * use better hash function (hashing 32bits at once and with better mixing characteristics) * use input-offset-to-entry maps instead of retaining full input contents for lookup time * don't reread SEC_MERGE section multiple times * care for cache behaviour for the hot lookup routine The overall effect is less usage in libz and much faster string merging itself. On a debug-info-enabled cc1 the effect at the time of this writing on the machine I used was going from 14400 perf samples to 9300 perf samples or from 3.7 seconds to 2.4 seconds, i.e. about 33% .
Diffstat (limited to 'gdb/c-lang.c')
0 files changed, 0 insertions, 0 deletions