Re:Treadmill garbage collector by H. Baker
by kragen on Tuesday July 26, 2022 @09:25AM
(#32237950)
Generational GC might make heap-allocating your activation records a viable option, even if you're not satisfied with CPython levels of performance. I mean in a sense that's what Chicken does, right?
[ Parent
| on HN ]
That is the argument made by Andrew Appel’s paper “garbage collection can be faster than stack allocation” https://www.cs.princeton.edu/~appel/papers/45.pdf and it’s the compilation strategy used by SML/NJ as set out in Appel’s book “compiling with continuations”
Well, I know, but I think he turned out to be wrong in that case. Fast enough, maybe.
It's pretty hard to beat the pushj/popj approach, except that you have to lock out the GC before returning (as it may be scanning the activation records to find roots).