4 ms·
Hello, I made this project for Morgan Stanley. We've just recently open sourced it, and lately I've been working on porting it to new platforms and working wi
by kthielen 9y ago
Hello,
I made this project for Morgan Stanley. We've just recently open sourced it, and lately I've been working on porting it to new platforms and working with people outside of the firm to show how it can be useful in their infrastructure.
At MS, we use this to augment and implement features in low-latency trading systems (where latency budgets are very tight). We also use the storage features to efficiently record high volumes of internal trading data, which we analyze out-of-process in real-time and historically (in this use-case, it functions like a basic time-series database).
The net.H and storage.H headers here are actually themselves self-contained header-only libraries for type-safe network queries against hobbes processes and low-latency structured logging to shared memory (respectively). So with these two headers, we get a lot of processes to interact with or feed data to hobbes processes very easily.
There are some very interesting things that we're able to do with this JIT compiler and PL. I hope to write about it in more detail in the coming weeks, but the short version is that structural/algebraic data types and type classes have allowed us many creative options for analyzing and querying large volumes of trading data efficiently in real-time.