Ned Konz <ned / bike-nomad.com> wrote:
: That's not a particularly small Linux system. The moderate size of the Ruby 
: interpreter should work fine in that environment.

I agree, but one has to ask how large his Ruby scripts are before deciding
on a memory target.

: I see 1260Kb RSS and 764K shared on my (CVS) version of Ruby.

: Interestingly, Ruby seems to load libcrypt. Perhaps this dependency can be 
: removed, but I don't see any configure options to do it.

You need only stub out rb_str_crypt and remove -lcrypt from the list of
libraries to remove libcrypt.  It's not like a big win, though:

I see 1128 RSS and 644 share on a default 1.6.4 version of Ruby.
I see 1116 RSS and 636 share on my 1.6.4 hacked version of Ruby.

So it's not worth the trouble, and certainly not worth maintaining docs on
how you've changed Ruby for your system.

: One thing that will help is to make Ruby do as much as possible. Use its 
: threading to your advantage here: you can have a single program where Perl 
: (for instance) would be forking multiple copies.

Except of course that Ruby threads aren't kernel threads, and thus block
on essentially everything you would want threading *for*.  So goodbye
perceived performance gains.

No easy answer here.