In the past, USearch used Tessil's Robin Map. Sadly, we needed Multi-Set functionality, and that class didn't support it. So we have temporarily switched to std::unordered_multiset, which is horrifyingly slow and uses a lot of memory.
For reference, during one of my experiments, I failed to fit over 920 Million entries into 512 GB of RAM. With this patch, I could do over 1 Billion without changing the vectors or any other logic. So, the inefficiency in a single container design was equivalent to ~ 100 Million data entries.
In the past, USearch used Tessil's Robin Map. Sadly, we needed Multi-Set functionality, and that class didn't support it. So we have temporarily switched to
std::unordered_multiset
, which is horrifyingly slow and uses a lot of memory.For reference, during one of my experiments, I failed to fit over 920 Million entries into 512 GB of RAM. With this patch, I could do over 1 Billion without changing the vectors or any other logic. So, the inefficiency in a single container design was equivalent to ~ 100 Million data entries.