2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-22 10:10:06 +00:00

preen ondrej's hash table notes

Tony Finch 2022-04-07 11:08:36 +01:00
parent d0163cceb9
commit e5cec4d503

@ -126,13 +126,21 @@ Case-sensitive and case-insensitive variants, chosen at run-time.
Uses chaining, so it is heavy on indirection and heavy on allocation.
Modern hash tables use open addressing.
Ondrej: there's work to do on the isc_ht:
## Ondřej's notes
1. make header-only variant of the hashtable, so we can unify the usage across the codebase (e.g. no extra allocations when storing item)
2. there's a branch, where I implemented robin-hood hashing, but I never finished because of 1), the branch is ondrej/robin-hood-unordered-node-map
3. the resizing was added only recently, we still miss shrinking (should be easy enough to do)
There's work to do on `isc/ht`:
1. make header-only variant of the hashtable, so we can unify the usage
across the codebase (e.g. no extra allocations when storing item)
2. there's a branch, where I implemented robin-hood hashing, but I never
finished because of 1), the branch is ondrej/robin-hood-unordered-node-map
3. the resizing was added only recently, we still miss shrinking (should be
easy enough to do)
`dns/adb` was recently refactored, it used a custom hashtable before
Ondrej: dns_adb was recently refactored, it used a custom hashtable before
# `isc/pool`