Nailgun is a tool that speeds up Java command startup by punting 
commands to an always-running "server" JVM. The improvement for JRuby is 
substantial, with bare-bones startup times improving tenfold.

There's work to be done, like to get signals to forward from the client 
to the server and to more easily manage server instances, but it's a 
good start. We're looking for people to try it out (to be released in 
RC2 soon) and give us feedback.

http://blog.headius.com/2009/05/jruby-nailgun-support-in-130.html

Here's a short sample session using JRuby with Nailgun:

~/projects/jruby  cd tool/nailgun/ ; make ; cd -
Building ng client.  To build a Windows binary, type 'make ng.exe'
gcc -Wall -pedantic -s -O3 -o ng src/c/ng.c
ld warning: option -s is obsolete and being ignored
/Users/headius/projects/jruby

~/projects/jruby  jruby --ng-server
NGServer started on all interfaces, port 2113.
^Z
[1]+  Stopped                 jruby --ng-server

~/projects/jruby  bg
[1]+ jruby --ng-server &

~/projects/jruby  jruby --ng -e "puts 1"
1

~/projects/jruby  time jruby -e "puts 1"
1

real    0m0.609s
user    0m0.482s
sys    0m0.119s

~/projects/jruby  time jruby --ng -e "puts 1"
1

real    0m0.073s
user    0m0.010s
sys    0m0.018s

- Charlie