4 ms·
I still don't understand how they choose languages with garbage collection for systems that should be real time or similar.
by alecco 16y ago
I still don't understand how they choose languages with garbage collection for systems that should be real time or similar.
- timrobinson 16y agoIt's not F# or Java, it's C++. http://news.ycombinator.com/item?id=2261896 http://news.ycombinator.com/item?id=2261896
- alecco 16y agoIt could be some left over system from the previous .Net platform causing a knock-on effect.
- IDisposableHero 16y agoIt could be anything. Why do you want it to be that?
- alecco 16y agoI don't want it to be that. I'm saying the rumour sounds plausible.
- IDisposableHero 16y agoNot so plausible to me, considering that the old system was in C#.
- dagw 16y agoI'm pretty sure I've read somewhere that they where using F# for some parts.
- IDisposableHero 16y agoCan we have a link please?
- tzs 16y agoThat seems unlikely. F# only recently moved from being an experimental language from Microsoft Research to a supported .NET language. The previous system is old enough to predate that.
- StrawberryFrog 16y agoAgreed. and Anderson consulting using an experimental, non-obvious language? I don't see it.
- axod 16y agoGC isn't a problem for realtime systems, if configured correctly. For example, have the GC running incrementally in a separate thread.
- CountHackulus 16y agoClose, you do need to stop the world every once in a while to GC some of the harder stuff. But it's true, there's flavors of Java that are certified for hard realtime. If you stop the GC for 100ms every 2s regardless if you need it or not, that's pretty nice and predictable behavior for a realtime system.
- wingo 16y ago100ms is an eternity. You can do GC with 1ms pauses. http://www.infoq.com/articles/azul_gc_in_detail http://www.infoq.com/articles/azul_gc_in_detail, for one example.
- davidw 16y agoErlang is not "real time" in the hard, embedded systems sense, but it does pretty well and has GC. Here's a bit more information: http://www.erlang.org/faq/academic.html#id55755 http://www.erlang.org/faq/academic.html#id55755 I don't know what sorts of 'real time' properties trading systems are required to have - can anyone talk about it with a bit more in-depth knowledge?
- IDisposableHero 16y agoI don't know much, but for high-frequency trading, fast is never fast enough. response times are measured in microseconds. http://richg74.wordpress.com/2010/10/25/speedy-new-lse-trading-system/ http://richg74.wordpress.com/2010/10/25/speedy-new-lse-tradi... http://www.h-online.com/open/news/item/Linux-boosts-Stock-Exchange-trading-speeds-1126476.html http://www.h-online.com/open/news/item/Linux-boosts-Stock-Ex...
- alecco 16y agoSpeed isn't all. The system should be based in algorithms with manageable worst case time.
- alecco 16y agoI don't buy Erlang camp's reports. A GC will always trash the cache, and that's the worst issue right now in hardware. (If you take out HDD I/O.)
- scott_s 16y agoYou may be interested in the Metronome project, which aims to provide a GC suitable for realtime use: http://domino.research.ibm.com/comm/research_projects.nsf/pages/metronome.index.html http://domino.research.ibm.com/comm/research_projects.nsf/pa... An academic paper about the project, Design and Implemention of a Comprehensive Real-Time Java Virtual Machine: http://domino.research.ibm.com/comm/research_people.nsf/pages/dgrove.emsoft2007.html/$FILE/emsoft2007.pdf http://domino.research.ibm.com/comm/research_people.nsf/page...