Remix.run Logo
ogogmad 3 days ago

This approach makes sense if you have access to either all available memory or a fixed quantity of memory, half of which would go to the fromspace and the other half to the tospace. What I don't understand is: When should the heap be made bigger? What about smaller?

rurban 3 days ago | parent | next [-]

Making it bigger requires a stop the world, and moving some objects.

You'll never need to make it smaller, but this requires the same efforts.

But good to see someone finally explaining the simplest and fastest GC, because the objects are compacted, usually in the same cache line. MMTk is way underused

burnt-resistor 3 days ago | parent [-]

Tiny nit observed intended to be helpful feedback: "Efforts" implies multiple separate projects doing the same thing or many failed projects by one or many groups or people that were abandoned without success. The word "effort" customarily indicates a single project done by one or many people that maybe one or more tasks and may or may not be complete. In the sense of describing vague work, "effort" would be the better word choice. This can be a confusing but offers subtle nuance.

The intent is to help improve writing clarity because, to lawyers and us amateur unsolicited grammar "mall security guards", words and word choices can vary in accuracy and precision based on how they were chosen to increase or decrease confusion. Clarity is important because being imprecise or inaccurate imposes a costlier burden on multiple people other than yourself. English is a difficult and messy language, with slightly different interpretations conventions British and American flavoⓊrs, seemingly arbitrary odd rules, and much imprecision; it's basically Indo-Greek-Latin-Germanic "Creole gumbo". (I can't even learn Spanish, much less Arabic, Hindi, Korean, Mandarin, Russian, or Urdu.) And beware of singulare tantum without plural forms like "feedback", for they are sneaky too.

p_l 2 days ago | parent | prev [-]

I believe the original two-space aka semispace collector actually used all of the memory as main memory... then it used a tape as temporary buffer where it wrote "live" objects, and restored from tape again