Todd Gillespie <toddg / linux126.ma.utexas.edu> wrote:
> 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.

Sure.  Enable non-blocking IO and use asynchronous IO checking.  It wasn't 
too easy the first time, but check out my Bonkle::Server to see how I did it.

-- 
 Brian Fundakowski Feldman           \  FreeBSD: The Power to Serve!  /
 green / FreeBSD.org                    `------------------------------'