[gclist] Boehm collector vs lazy allocation with demand paging

Charles Fiterman cef@geodesic.com
Tue, 08 Apr 1997 07:59:08 -0500


At 09:42 PM 4/8/97 +1000, you wrote:
>Hi,
>
>The Mercury implementation uses the Boehm (et al.) collector.
>
>Several memory areas used by the Mercury runtime engine
>such as the Mercury stacks are allocated with a fixed size
>at startup, with the idea being that with demand paging,
>we can allocate much more than we will need, and the OS
>will allocate it lazily for us as we actually use it.
>
>Unfortunately this idea doesn't work with the Boehm collector,
>because the collector scans all of memory, which I think causes
>the memory to allocated (even though the collector is only reading
>it, not writing to it), and which certainly slows down garbage
>collections.
>
>Any suggestions?

There are ways to arrange user mark methods. If you allocate
something big but know only parts of it need to be scanned
a user mark method sounds right.
			-  
Charles Fiterman		Geodesic Systems
414 North Orleans Suite 410	Phone 312 832 1221 x223
Chicago IL 60610-4418		FAX   312 832 1230
				http://www.geodesic.com

A computer language without garbage collection
  is like a city without garbage collection.