initial single thread std::unordered_map without locks
naive multithreaded std::unordered_map with mutex locks
multithreaded std::unordered_map with fine grained mutex locks
single thread tbb::concurrent_unordered_map with embed locks
multithreaded tbb::concurrent_unordered_map with embed locks
single thread tbb::concurrent_hash_map with embed locks
multithreaded tbb::concurrent_hash_map with embed locks
multithreaded DB concept with data sharded between threads, "network" threads distribute requests to "db engine" threads regarding key using channels
- std::unordered_map as a data map
- tbb::concurrent_queue as a channel
as like as mtdb, but lock-free mpmc_bounded_queue is used as a channel (https://groups.google.com/forum/#!topic/lock-free/-bqYlfbQmH0)