No description
Find a file
xbazzi e8521538d7
Some checks failed
Simple Mirror to GitHub / mirror (push) Has been cancelled
feat: update configuration handling to use quick::Config, remove fiah namespace components
2025-12-17 23:37:38 -07:00
.gitea/workflows Modify readme once more 2025-08-17 15:56:51 -06:00
benchmarks feat: update configuration handling to use quick::Config, remove fiah namespace components 2025-12-17 23:37:38 -07:00
data feat: Add clang-format and clang-tidy, move main files into src/, moved logger into impl facade behind SimpleLogger.hh, add utils/Constants.hh, remove old proto stuff, start TomlParser class 2025-11-08 18:01:22 -07:00
etc feat: Change to my config reader implementation instead of toml++ 2025-11-08 20:31:01 -07:00
examples feat: update configuration handling to use quick::Config, remove fiah namespace components 2025-12-17 23:37:38 -07:00
include/fiah feat: update configuration handling to use quick::Config, remove fiah namespace components 2025-12-17 23:37:38 -07:00
src/fiah feat: update configuration handling to use quick::Config, remove fiah namespace components 2025-12-17 23:37:38 -07:00
tests feat: update configuration handling to use quick::Config, remove fiah namespace components 2025-12-17 23:37:38 -07:00
.clang-format Revert "chore: big move 🚚, formatting entire codebase." 2025-12-13 21:31:25 -07:00
.clang-tidy feat: Add clang-format and clang-tidy, move main files into src/, moved logger into impl facade behind SimpleLogger.hh, add utils/Constants.hh, remove old proto stuff, start TomlParser class 2025-11-08 18:01:22 -07:00
.envrc feat: Implemented raw tcp sockets and orders. 2025-10-29 00:27:50 -06:00
.gitignore feat(add-tests): Add GTest with CMake CTest module, set up some fixtures and harnesses. 2025-11-04 20:50:14 -07:00
CMakeLists.txt feat: update configuration handling to use quick::Config, remove fiah namespace components 2025-12-17 23:37:38 -07:00
Doxyfile feat(add-tests): Add GTest with CMake CTest module, set up some fixtures and harnesses. 2025-11-04 20:50:14 -07:00
flake.lock feat: Add logger, error-handling, perf timer, CMake changes 2025-11-01 22:49:40 -06:00
flake.nix feat: Add clang-format and clang-tidy, move main files into src/, moved logger into impl facade behind SimpleLogger.hh, add utils/Constants.hh, remove old proto stuff, start TomlParser class 2025-11-08 18:01:22 -07:00
Makefile feat: update configuration handling to use quick::Config, remove fiah namespace components 2025-12-17 23:37:38 -07:00
README.md feat: Add signal handler, multithreaded pipeline, inlined atomic getters, move MarketData into Structs.hh, delete commented code. 2025-11-03 16:39:21 -07:00

FastInAHurry🏃‍♀️➡️

Financial market streaming and order execution simulator written in C++.

Low latency, data locality, and high performance are paramount.

Only tested on Linux, and it works on any distro as long as you have nix. Currently, there is no Windows support. Or ever.

Build n' Run

Build

Install nix (and optionally direnv) and run the flake.nix to load all dependencies in your local environment:

nix develop

Then you can build the project

make all

Run

First, run the server:

./build/bin/server &

Then run the client:

./build/bin/client 

If you have direnv, run direnv allow and enjoy having your packages loaded automatically; no need to run nix develop everytime you're in a new shell or load another shell.nix/flake.nix from another project.