On 2010-06-19 16:43 +0100 (Sat), Max Bolingbroke wrote: > Curt Sampson had an experience report at ICFP last year about his > experience with Haskell for a real time application > (http://www.starling-software.com/blogimg/tsac/s5/2009-09-01-icfp.html). > He reported no issues with GC speed in practice.
As it turned out, there were issues in the end. I'm no longer with that project, so I don't know how things are at this point, but the issues weren't anything terrible that you wouldn't see on other platforms, and GHC was at the time just bringing in some new and great facilities (such as the tracing used by Threadscope) for starting to profile this sort of thing. I didn't feel as if I faced any horrible hurdles. braver's note, "As I suspected, JVM garbage collector got more testing than Haskell at this scale; since not many people load it up as much, it may be less tested," strikes me as much more likely an issue with improper control of lazy evaluation than a GC issue: the GC of a Haskell implementation is generally much harder worked than a JVM GC due to the heavy use of immutable variables that's part of the nature of Haskell itself. While I'd say the Sun JVM's GC is more mature than GHC's, it's not anywhere near a night-and-day difference, and it's mostly visible in things like the greater number of strategies Sun's GC offers, such as concurrent GC. GHC is making excellent progress. If there's one key thing I took away from my whole experience, it's that to make effective use of Haskell in a time- and performance-critical application, you need to understand and control (lazy) evaluation. This isn't really any more sophisticated a type of knowledge than you need to move from, say, a non-GC to a GC language, but it is new, and you have to be prepared to learn a bunch of new stuff. Note that I'm not reading this list regularly due to the enormous volume, so be sure to cc me on replies to this if you want to make sure that I see them. I'd be happy to chat further with anybody contemplating a serious project in Haskell that has worries about this, and I'd even be available for some consulting if it comes to that. (Oh, and the trading system is running in production and making money these days. There's no question in my mind that the project was a success, and I'd do it in GHC again. Thanks to the Simons and many others for the fantastic job they've done with that.) cjs -- Curt Sampson <c...@cynic.net> +81 90 7737 2974 http://www.starling-software.com/ "There's a war between the ones who say there is a war and the ones who say there isn't." --Leonard Cohen _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe