diff options
author | Josh Stone <jistone@redhat.com> | 2013-12-12 16:34:15 -0800 |
---|---|---|
committer | Josh Stone <jistone@redhat.com> | 2013-12-13 09:48:07 -0800 |
commit | b47e28a743afef4cd02fbe753c1526ed89c472c9 (patch) | |
tree | 441b14baf49c5298abace8a784159d806c3a4b69 /lib/ChangeLog | |
parent | 4e2787c2674bdb152e275edb3ed4d9939c8f62d7 (diff) | |
download | elfutils-b47e28a743afef4cd02fbe753c1526ed89c472c9.tar.gz |
lib: Avoid the hash-lookup division if possible
For Dwarf_Abbrev codes, the most common case is that they're packed at
the low end, saving uleb128 encoding size. Since the hash table is
always resized to be no more than 90% full, those codes are always less
than the table size, and dividing for the remainder is unnecessary.
Dwarf_Dies are frequently created anew, and need to find abbrev each
time, so even that one division becomes a noticeable hotspot. This
patch adds a branch to avoid it, which is very predictable for the CPU.
Signed-off-by: Josh Stone <jistone@redhat.com>
Diffstat (limited to 'lib/ChangeLog')
-rw-r--r-- | lib/ChangeLog | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index 6ce3168f..9b8899e2 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,7 @@ +2013-12-12 Josh Stone <jistone@redhat.com> + + * dynamicsizehash.c (lookup): Add a shortcut around division. + 2013-04-30 Jan Kratochvil <jan.kratochvil@redhat.com> * eu-config.h (COMPAT_VERSION_NEWPROTO): New. Twice. |