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 `------------------------------'