Show HN: C++ order book matching engine (3.2M orders/SEC, ~320ns) github.com 3 points by tjwells 13 hours ago
tjwells 13 hours ago I’m a student interested in market microstructure and low-latency systems. I built Mercury to learn how matching engines work under the hood.It’s a single-threaded C++ engine that achieves ~320ns insertion latency and 3.2m+ orders/sec throughput.Technical details:Memory: Everything is pre-allocated. No new/malloc on the hot path.Data Structures: I wrote a custom Robin Hood hash map and intrusive lists to keep order management O(1) and cache-friendly.Architecture: It includes a pre-trade risk check and a backtester.The code is obviously not production-ready for a real exchange, but I’d love feedback on the C++ implementation and memory layout.Repo: https://github.com/eelixir/mercury
jtfrench 12 hours ago Looks super interesting! Does it have support for auction mechanics (e.g. dutch auction)?
I’m a student interested in market microstructure and low-latency systems. I built Mercury to learn how matching engines work under the hood.
It’s a single-threaded C++ engine that achieves ~320ns insertion latency and 3.2m+ orders/sec throughput.
Technical details:
Memory: Everything is pre-allocated. No new/malloc on the hot path.
Data Structures: I wrote a custom Robin Hood hash map and intrusive lists to keep order management O(1) and cache-friendly.
Architecture: It includes a pre-trade risk check and a backtester.
The code is obviously not production-ready for a real exchange, but I’d love feedback on the C++ implementation and memory layout.
Repo: https://github.com/eelixir/mercury
Looks super interesting! Does it have support for auction mechanics (e.g. dutch auction)?