Re:Uthash – C macros for hash tables and more
by rurban on Saturday March 26, 2022 @04:28AM
(#30810219)
std::unordered_map is in the similar ballpark. linked lists, oom checks, integer key support.
[ Parent
| on HN ]
Re:Uthash – C macros for hash tables and more
by marginalia_nu on Saturday March 26, 2022 @05:45AM
(#30810509)
In a "hold my beer"-moment, I've ported GNU Trove's hash map to use memory mapped files instead of allocated memory. With good reason, granted, and it's not commonly used, but compared to almost anything else, it is fairly slow.
Re:Uthash – C macros for hash tables and more
by spicybright on Saturday March 26, 2022 @06:31AM
(#30810687)
That sounds pretty interesting (in a sick way ;) ) Are you able to elaborate a bit more what you were doing?
Re:Uthash – C macros for hash tables and more
by marginalia_nu on Saturday March 26, 2022 @07:59AM
(#30811091)
I'm using it for the lexicon in my search engine.
I basically need a mapping from arbitrary short strings to unique integer identifiers, with a cardinality in the billions. Too much to keep in memory, most db solutions keel over as well.
Re:Uthash – C macros for hash tables and more
by rurban on Saturday March 26, 2022 @01:02PM
(#30813458)
for this I would use CHM, ordered minimal perfect hashes with external mmap'ed keys. still constant lookup, just the position needs to be stored in the value also.
Re:Uthash – C macros for hash tables and more
by marginalia_nu on Saturday March 26, 2022 @03:35PM
(#30814664)
Problem is I don't know the items beforehand, instead I need to build the hash as I encounter new pages. I don't know any way of reconcile that with a minimal perfect hash.