Sample transaction matching engine that finds deals between buy and sell offers of same price.
It stores entire market in memory and has several storage backends for persistence.
This project is aimed for testing market implementations, their complexity and performance.
inMemory ~1100000 offers/sec
Mongo ~900 offers/sec
Postgres ~450 offers/sec
inMemory:
- Receives new offer
- Performs deals until opposite offers available
- Adds unmatched offer to the market
Mongo/Postgres:
- Receives new offer
- Stores new offer in DB
- Matching process (same as in inMemory)
- Store all matches in DB