Hi Stefan,
A real time incremental gc would be really cool. Some people claim
they exist, but which languages have one?
james mccartney's supercollider [1] has a non-copying incremental
collector based on [2], though not a parallel one.
btw, is an implementation of the incremental collector described in
[3] available somewhere? are there any plans to incorporate it into
future ghc versions?
<sk>
[1] http://supercollider.sourceforge.net
[2] P. R. Wilson and M. S. Johnstone. Real-time non-copying garbage
collection. In ACM OOPSLA Wsorkshop on Memory Management and Garbage
Collection, 1993.
[3] A. M. Cheadle, A. J. Field, S. Marlow, S. L. P. Jones, and R. L.
While. Exploring the barrier to entry: incremental generational
garbage collection for haskell. In ISMM ’04: Proceedings of the 4th
international symposium on Memory management, pages 163–174, New York,
NY, USA, 2004. ACM.
The collector in [3] isn't in a production version of GHC for several
reasons, mainly because I finished it prior to significant reworking of
GHC's backend (C-- target etc), and while finishing my PhD I couldn't
devote the time to keeping it current - it is a massive engineering
task! Furthermore, the scheduling of work-based increments are
problematic and I only made a preliminary start with time-based
collection. That said:
Our current work here at Imperial has focussed on implementing exactly
what we did for GHC in Java, targetting the Jikes RVM, and we've made
alot of progress (*shameless plug*, check out our paper at VEE 2008: /A
Method Specialisation and Virtualised Execution Environment for Java).
/With this work nearing completion my attention is turning back to GHC
but with particular focus on concurrency, and multi-core / parallel
collection and the STM world... I haven't ruled out the collector being
incremental too, so I wouldn't be surprised if I resurrect this code
base... Of course, these things take time and I have other commitments...
I know Simon has been working on parallel collection and I would expect
this to be more generally useful than a single-threaded incremental
collector, so I'll leave it to him to say how that's coming on...
Cheers
Andy
//
--
*********************************************************************
* Andrew Cheadle email: [EMAIL PROTECTED] *
* Department of Computing http://www.doc.ic.ac.uk/~amc4/ *
* Imperial College London *
*********************************************************************
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe