On the hunt for a production-ready interprocess hash map—any good upgrades from boost::interprocess (folly-esque preferred?)
Hey everyone,
I'm currently working on a project that requires a high-performance interprocess hash map for production use. Right now, we're using boost::interprocess's unordered_map with a shared memory allocator, but we're looking for potential upgrades—preferably something that mirrors the design philosophy of folly::concurrentHashMap (like fine-grained concurrency, low lock contention, or lock-free mechanisms) while being fully interprocess-capable.
Our key requirements are:
1. Production-ready: Mature, well-maintained, and battle-tested in real-world environments.
2. Interprocess support: Must reliably work across multiple processes (not just intra-process threads) with shared memory backing.
3. High concurrency: Similar to folly's approach—optimized for high throughput, minimal contention, and ideally leveraging atomic operations or lock-free algorithms.
We’ve looked into custom implementations, but we’d prefer to use existing libraries to avoid reinventing the wheel and reduce maintenance overhead. Has anyone here used or come across libraries that fit this bill? Any insights, recommendations, or war stories would be incredibly helpful!
https://redd.it/1o7wnaz
@r_cpp
Post #24065
18