Re:Constant Time LFU
by jasonwatkinspdx on Thursday August 27, 2020 @09:17PM
(#24300449)
For chaining hash tables like this you can use a linked list of buckets where each bucket allows multiple entries, and entries can be scanned with SIMD operations. The downside is it considerably complicates the insertion/update logic, so depending on the workload it may be a net performance loss. If the hash table is designed for concurrency the extra complexity can very likely lead to tricky to understand bugs or performance cliffs.
You can do this at the hashtable level when comparing keys. I think TBB does it. https://software.intel.com/en-us/node/506171
Are there any blogposts about this?