5 ms·
> Turns out you can as long as you don’t garbage collect during the trading day by carefully managing allocations and manually running GC each day before tradin
by tjoff 4y ago
> Turns out you can as long as you don’t garbage collect during the trading day by carefully managing allocations and manually running GC each day before trading starts.
The surprising thing here is that it is considered worth it with those limitations.
My hope/guess is that because of the GC hype there wasn't any good alternatives.
With the alternatives gaining maturity now I'd hope that that decision wouldn't be made today (when starting from a clean slate).
- rbanffy 4y ago> it is considered worth it with those limitations. These people make decisions based on Excel spreadsheets that are not properly documented. I wouldn't trust their judgement, despite the fact they managed not to crash the global financial system too frequently.
- lucozade 4y ago> The surprising thing here is that it is considered worth it with those limitations. It shouldn't be that surprising. Languages like Java and C# are perfectly sensible languages for writing the vast majority of a lot of trading systems. So it's eminently reasonable to use them, or equivalent, and deal with the bits that are GC-phobic as special cases. I've worked with/on trading systems written is mainstream languages including C++, Java, C# and Python, as well as less mainstream such as APL and Smalltalk. I can safely say that there are way more critical concerns than whether or not it uses a GC.
- bitwize 4y agoWe have Rust now, and some safe memory usage patterns for C++. GC just increases your energy bill and helps heat up the planet.
- tester756 4y ago>We have Rust now, and some safe memory usage patterns for C++. >GC just increases your energy bill and helps heat up the planet. Were C++ compilation times that use 100% of my PC taken into consideration? And not just for final binary, but also the compilations that happen everyday for development purpose too
- jhgb 4y ago> GC just increases your energy bill How? GC does its work in large batches once in a while, whereas for example Arc (the only serious alternative to what GC brings, which is the ability to have arbitrary graphs of objects) does its work much more frequently, with additional effort expended on atomic operations in a multithreaded environment, and with additional memory writes to boot. Somehow I doubt that GC "just increases your energy bill".
- rwmj 4y ago[Citation needed] Rust encourages reference counting, a particularly inefficient form of GC which actually turns reads into writes(!), and it cannot move objects to compact memory except when it can prove that every object has only a single reference.
- hinkley 4y agoI usually hear those sorts of rationalizations in companies that have already become feature factories. We just have to go fast. We can't make people slow down and learn discipline, or if we have, we can't go back and fix the past because we have to go go go. In retrospect I think I should have put more effort into breaking the feature factory culture than the discipline culture. It's hard to get clean if your drug of choice is ready at hand.