From: David Masover on
On Sunday 28 March 2010 03:31:54 am Robert Gleeson wrote:
> I'd mention fork() as well, though, since most UNIX-like
> distributions(if not all? I'm just not 100%) implement a copy-on-write
> fork(), reducing the overhead people sometimes associate with fork().

It has issues with Ruby, though -- any time Ruby's garbage collector runs,
pretty much the entire process will have bits flipped in it. So it's copy on
write, or copy everything on GC.

There have been some efforts to make a COW-friendly GC for Ruby, but nothing I
know of that works on 1.9.

From: Robert Gleeson on
David Masover wrote:
> On Sunday 28 March 2010 03:31:54 am Robert Gleeson wrote:
>> I'd mention fork() as well, though, since most UNIX-like
>> distributions(if not all? I'm just not 100%) implement a copy-on-write
>> fork(), reducing the overhead people sometimes associate with fork().
>
> It has issues with Ruby, though -- any time Ruby's garbage collector
> runs,
> pretty much the entire process will have bits flipped in it. So it's
> copy on
> write, or copy everything on GC.
>
> There have been some efforts to make a COW-friendly GC for Ruby, but
> nothing I
> know of that works on 1.9.

Thanks for the information! I hadn't a clue about that.
--
Posted via http://www.ruby-forum.com/.

From: Robert Gleeson on
David Masover wrote:
> On Sunday 28 March 2010 03:31:54 am Robert Gleeson wrote:
>> I'd mention fork() as well, though, since most UNIX-like
>> distributions(if not all? I'm just not 100%) implement a copy-on-write
>> fork(), reducing the overhead people sometimes associate with fork().
>
> It has issues with Ruby, though -- any time Ruby's garbage collector
> runs,
> pretty much the entire process will have bits flipped in it. So it's
> copy on
> write, or copy everything on GC.
>
> There have been some efforts to make a COW-friendly GC for Ruby, but
> nothing I
> know of that works on 1.9.

I did some rooting around on google and it looks like Hongli has some
done some work making the ruby garbage collector COW-friendly. A patch
for 1.8.6 is available here:

http://izumi.plan99.net/blog/index.php/2008/01/14/making-ruby%E2%80%99s-garbage-collector-copy-on-write-friendly-part-7/

I'm not sure if he has merged his work into Ruby Enterprise Edition, but
there was some talk of getting it merged into Ruby 19. It looks like it
was turned for performance reasons.

Thanks,
Rob
--
Posted via http://www.ruby-forum.com/.

From: Brian Candler on
Robert Gleeson wrote:
> I'm not sure if he has merged his work into Ruby Enterprise Edition

REE does have COW-friendly garbage collection. I don't know where the
code originated though.
--
Posted via http://www.ruby-forum.com/.