diff options
author | Michael Matz <matz@suse.de> | 2022-07-20 17:22:15 +0200 |
---|---|---|
committer | Michael Matz <matz@suse.de> | 2023-01-20 14:58:04 +0100 |
commit | 1a528d3ef07fc6084fc51759c1b2f8abb5c8127e (patch) | |
tree | a8a6592b42048b515755cf3894427ff8ac88753f /gdb/c-lang.c | |
parent | 2e175383bfe010c05c55fb19e29b5c0665229a9c (diff) | |
download | gdb-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