On Jan 24, 2008, at 6:04 PM, Evan Laforge wrote:
Well... ghc still has a single-threaded garbage collector, so all the
"par" threads must stop for garbage collection. So scaling to the
level of a cluster would be significantly sub-linear.
A real time incremental gc would be really cool. Some people claim
they exist, but which languages have one?
Define "real time". I'll note that, after all the mud that's been
slung at Java, you've been able to get low-pause-time parallel GC in
Java for years and years, and can get "real time" GC for various of
your favorite definitions of that term if you're willing to look a
little.
Relatively few other language implementations can claim the same.
Writing a decent parallel GC (eg, faster than the tuned sequential GC
it's replacing on 2 or more CPUs) is hard. Sounds like GHC is nearly
there, though. GC implementors dream of systems where read barriers
are nearly free. Better still, everything that's been learned about
and published in Java-land carries across to Haskell (though the
tradeoffs in eg mutation behavior are often different).
-Jan-Willem Maessen
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe