JM> Should we just make sure that we turn off GC when doing something like
JM> above?

One GC idea I thought of is this:  What if you could tell the GC to
disable itself until a certain amount of memory was in use?  Something
like: GC.diable_until(50M)  # diable GC until our process is 50megs in
size.

I don't know if such a thing is possible without polling.  That is,
can the OS send a message to ruby when it hits 50 megs?

This would be useful because many times you will have a program that
doesn't usually use up much memory, but every once in a while it does,
and you want to deal with it at that time, but otherwise: full speed
ahead and damn the torpedos, I've got 50 megs of RAM in my back pocket!

These aren't academic questions,  I work for a registrar:
Tucows/OpenSRS and deal with 30 million records pretty often, while
maybe it's a small number compared to some of you, performance is
still a significant factor when dealing with that number.  For
instance  http://www.domainsurfer.com/ssearch.cgi?dom=ruby which I
wrote a couple years ago (in perl) has to do a subsecond substring search
against 30mm records.  Of course there is quite a bit of preprocessing
that goes on, but that has to happen in a reasonable amount of time.
And OpenSRS itself deals with very high transaction rates, again, I'd
love it if OpenSRS was powered by ruby.

I would like to convert DomainSurfer to ruby (and paste a "powered by
ruby" logo on the page), and get the rest of the Tucows development
team on ruby, I'm just running into the performance niglets here and
there.

thanks,
-joe

-- 
NewsHub:      http://www.NewsHub.com/tech/  |
OpenSRS:      http://www.OpenSRS.org/       |  Explore Your Net!
DomainSurfer: http://www.DomainSurfer.com/  |