A simple order matching engine in C++20. Uses a lock-free queue to pass orders to a worker thread that runs the order book.
Needs a C++20 compiler.
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
./build/tests # run tests
./build/demo # run demo
./build/benchmark # run benchmarksinclude/engine/has all the engine headers (types, order book, SPSC queue, matching engine)src/main.cppis a demo that posts some orders and prints tradestests/tests.cpphas basic correctness testsbench/benchmark.cppmeasures add_order latency and pipeline throughput