| ▲ | kragen 4 days ago | |
Okay, that's brilliant. I didn't even imagine that the GC-induced leak problem was even solvable. I guess the freed-but-not-GCed object could be arbitrarily large, but that's almost never going to be a gradual leak. What's awesome about the Emacs GC? | ||
| ▲ | pizlonator 4 days ago | parent [-] | |
Even if you have a large freed object, it’ll really get GC’d unless it’s referenced from a root that the GC can’t edit. I allow for such things to simplify the runtime, but they’re rare. As a GC dev I just found the emacs GC to be so nicely engineered: - The code is a pleasure to read. I understood it very quickly. - lots of features! Very sophisticated weak maps, weak references, and finalizers. Not to mention support for heap images (the portable dumper). - the right amount of tuning but nothing egregious. It’s super fun to read high quality engineering in an area that I am passionate about! | ||