On that angle - I like the project structure, overall, CMake use and documentation. It was helpful to understand, high level, before diving into code.<p>I also recall the discussion here related to fast associative containers, like unordered map/set. This is the implementation - <a href="https://github.com/martinus/unordered_dense">https://github.com/martinus/unordered_dense</a><p>Combined with HFT CppCon talk that emphasizes the impact of node-based STL containers you may benefit from using some optimized hash maps on top of vectors, if you aim at top-performance in runtime. Also, abseil has some flat sets/maps implementation. All of this could be a nice addition if you experiment with performance (I figured that from std::pmr use in your project).
100% agreed, stl containers should be replaced. The problem here is that I'd like to keep the core dependency-free... However, functionality first, squeeze maximum later. I'll definitely give a try for non-stl containers and if measurements beat - make the usage of container implementation controllable by compilation options, keeping things configurable as much as possible.<p>Thank you for your ideas and advice! Great and valuable feedback