emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [EXPERIMENT] Emacs with the SpiderMonkey garbage collector


From: Steve Fink
Subject: Re: [EXPERIMENT] Emacs with the SpiderMonkey garbage collector
Date: Thu, 30 Nov 2017 17:03:51 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0


- during GC you need *double* the heap space.  If you only GC a sub-part
   of your heap (e.g. just one generation), then you only need double
   that sub-part.  So if you only use a copy-GC for the youngest generation
   it's not a big deal, but if you use stop&copy over your whole heap,
   we're talking about a 100% overhead on memory usage.

Yes. The Spidermonkey GC uses moving collection for the nursery generation and nonmoving collection for the tenured heap, though it will also periodically do a compacting GC of the tenured heap that moves things. But the compacting GC breaks the heap into small chunks, so the overhead is at most one of those chunks.

And it doesn't do semispace collection; it moves everything from the nursery to the tenured heap, so you don't need double the nursery size ever. (Not that the nursery is fixed size; it'll double itself if you're filling it up fast, up to a maximum size.)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]