Hacker News new | past | comments | ask | show | jobs | submit login
A real time garbage collector that can recover temporary storage quickly (1980) [pdf] (dtic.mil)
17 points by tosh 29 days ago | hide | past | favorite | 7 comments

I noticed a lot of hand-waving in "Section 11: Parallelism can be used to speed up garbage collection". Clearly, the authors did not have much experience with concurrency when this paper was written.

Please explain what you mean. At first glance, it sounds pretty similar to the way the Go GC works.

Not at all. Go still uses a very primitive pre-80ies stop the world, non-compacting, mark & sweep collector. Stone aged.

This paper describes a slightly improved version of Bakers classic two finger collector with generations, as used in all modern GC systems since the mid 80ies. Normally you just use two semi-spaces plus the generation region. This one uses much more generational regions, which was modern in the 80-90ies, but fell out if favor with modern vmm's. Swapping semi-spaces are so much faster. They claim better compaction, which is interesting. Lisp people, like LispWorks should know better, as they tried those things excessively.

Thought about it over night. The many regions part is what guarantees real-time, but is slower in non-RT settings. Semi-spaces might get too large and violate realtime latencies.

Is this a generational GC?

Are we posting random papers from 40 years ago now

Sure, if they're interesting.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact