4 ms·
I wonder if you have seen the OpenHFT project written in pure Java for high frequency trading (https://github.com/OpenHFT https://github.com/OpenHFT). Would 175
by sriram_malhar 9y ago
I wonder if you have seen the OpenHFT project written in pure Java for high frequency trading (https://github.com/OpenHFT https://github.com/OpenHFT). Would 175 _million_ trading transactions per second on modest hardware be considered good enough? Check out the Chronicle log in the same project, that persists tens of millions of records on disk.
All it takes is a basic understanding of cache architecture and of generational GC, and simple data structures.
- littlestymaar 9y agoThat's where the generational GC makes all the difference. Go people don't agree[1] with almost all the industry on this topic though. [1] : https://groups.google.com/forum/#!topic/golang-nuts/KJiyv2mV2pU https://groups.google.com/forum/#!topic/golang-nuts/KJiyv2mV...
- saghm 9y agoSure, for high frequency trading, I think that's good enough! On the other hand, if I'm writing an operating system or a device driver, getting a GC'd language to be "good enough" is a very different type of problem. As an aside, I don't think Java actually suffers from the specific problem that I was mentioning in my original comment, namely that it's hard to tell what's on the heap or not. I was under the impression that all objects on Java are on the heap, which makes it trivial to determine whether something is heap-allocated or not based on the type like in Rust.
- sriram_malhar 9y ago> On the other hand, if I'm writing an operating system or a device driver, getting a GC'd language to be "good enough" is a very different type of problem Nicklaus Wirth's Oberon OS (written in Oberon), Microsoft's Singularity OS (written in a variant of C#), the Mirage Unikernel written in OCaml, these are all examples of OSs written in GC'd languages. I am not aware of performance being an issue in any of these cases. Oberon was extensively used at ETH, and the components of Mirage that I am aware of (such as their OpenSSL and DNS) are competitive in performance with their C counterparts.