Rust High Frequency Trading - Design Decisions
Dear fellow Rustaceans,
I am curious about how Rust is used in high-frequency trading, where precise control is important and operations are measured in nanoseconds or microseconds.
What are the key high-level design decisions typically made in such environments?
Do firms rely on custom allocators, or do they go even further by mixing std and no_std components to guarantee zero allocations?
Are there other common patterns that are used?
Additionally, I am interested in how Rust’s properties benefit this domain, given that most public information is about C++.
I would love to hear insights from those with experience in this field or similarly constrained environments!
EDIT: I also wonder if async is used i.e. user-space networking is wrapped in an own runtime or how async is done there in gerenal (e.g. still callbacks).