------ art_11333_12488995.1226417057119 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Some options to get around this problem could be: * Not compacting any memory from the parent (i.e. keep the GC of shared objects non-compacting, with an external mark bit) * With a generational GC, promote shared objects to the mature space, and have a non-compacting mature space. I recognize that it would be more complex than either of the two options alone. Perhaps compaction could be an option that you could turn on (which, initially, would make it non COW-friendly)? -- Yehuda On Tue, Nov 11, 2008 at 9:45 AM, Yukihiro Matsumoto <matz / ruby-lang.org>wrote: > Hi, > > In message "Re: [ruby-core:19812] Re: Status of copy-on-write friendly > garbage collector" > on Tue, 11 Nov 2008 16:00:13 +0900, "Yehuda Katz" <wycats / gmail.com> > writes: > > |Out of curiosity, on another related topic, is any work being done on a > |compacting GC? I have found that memory fragmentation can make Ruby > |processes significantly larger than you would expect. > > Last month, I saw a research presentation on mostly copying garbage > collection for Ruby. But you have to note that copying GC and > copy-on-write-friendly-ness is contradicting aspect. You move objects > to compact the heap, it touches more pages. > > matz. > > -- Yehuda Katz Developer | Engine Yard (ph) 718.877.1325 ------ art_11333_12488995.1226417057119 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Some options to get around this problem could be:<div><br></div><div>* Not compacting any memory from the parent (i.e. keep the GC of shared objects non-compacting, with an external mark bit)</div><div>* With a generational GC, promote shared objects to the mature space, and have a non-compacting mature space.</div> <div><br></div><div>I recognize that it would be more complex than either of the two options alone. Perhaps compaction could be an option that you could turn on (which, initially, would make it non COW-friendly)?</div><div> <br></div><div>-- Yehuda</div><div><br><div class mail_quote">On Tue, Nov 11, 2008 at 9:45 AM, Yukihiro Matsumoto <span dir tr"><<a href ailto:matz / ruby-lang.org">matz / ruby-lang.org</a>></span> wrote:<br><blockquote class mail_quote" style argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> Hi,<br> <br> In message "Re: [ruby-core:19812] Re: Status of copy-on-write friendly garbage collector"<br> <div class h2E3d"> on Tue, 11 Nov 2008 16:00:13 +0900, "Yehuda Katz" <<a href ailto:wycats / gmail.com">wycats / gmail.com</a>> writes:<br> <br> |Out of curiosity, on another related topic, is any work being done on a<br> |compacting GC? I have found that memory fragmentation can make Ruby<br> |processes significantly larger than you would expect.<br> <br> </div>Last month, I saw a research presentation on mostly copying garbage<br> collection for Ruby. But you have to note that copying GC and<br> copy-on-write-friendly-ness is contradicting aspect. You move objects<br> to compact the heap, it touches more pages.<br> <br> matz.<br> <br> </blockquote></div><br><br clear ll"><br>-- <br>Yehuda Katz<br>Developer | Engine Yard<br>(ph) 718.877.1325<br> </div> ------ art_11333_12488995.1226417057119--