matz thoughts on Rite ?

G

George Marrows

Chris Thomas said:
There's been talk about a generational garbage collector customized for
Ruby in the past. Boehm is mostly a conservative mark&sweep, IIRC. In
any case, it should be possible to do better than Boehm, which largely
lives within the restraints imposed by supporting C and C++.

Ruby's extension & embedding API means that its GC also needs to
support C (and C++) - I think it has the same constraints as Boehm.
Any non-conservative GC scheme for Ruby would surely complicate the
API and the implementation.

-- George
 
M

Mauricio Fernández

Ruby's extension & embedding API means that its GC also needs to
support C (and C++) - I think it has the same constraints as Boehm.

Ruby's current GC is not "general purpose" as Boehm: it only looks
in the stack for VALUEs, not for arbitrary pointers (it doesn't have
to verify if there's anything pointing to somewhere inside a memory
block). Extensions still allocate memory using malloc(), Ruby doesn't
mess with that; ie. Ruby manages no memory arenas, only VALUE heaps. If
an extension malloc()s memory and doesn't free it later Ruby won't know
about it.
Any non-conservative GC scheme for Ruby would surely complicate the
API and the implementation.

matz already stated the GC will be generational and conservative.


--
_ _
| |__ __ _| |_ ___ _ __ ___ __ _ _ __
| '_ \ / _` | __/ __| '_ ` _ \ / _` | '_ \
| |_) | (_| | |_\__ \ | | | | | (_| | | | |
|_.__/ \__,_|\__|___/_| |_| |_|\__,_|_| |_|
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com

MS-DOS, you can't live with it, you can live without it.
-- from Lars Wirzenius' .sig
 
R

Rasputin

* Lothar Scholz said:
Hello matz,


Hmm and what about long running ruby applications. With real threads
an web application server could make sense. But on the other hand Java
did not compact for years (don't now if Java > 1.3 has extended the
operator in this way).



./configure --with_boehm_gc
make
make install

Oh, right - you mean at the Ruby interpreter compile time - I
thought you meant during compilation of the ruby code -
which is obviously a bit confusing....
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top