最近のバージョンから勝手にnailgunが起動するようになってた。

~/.rvm/hooks/after_use_jruby でnailgun起動してJRUBY_OPTSに-ng追加してるのをコメントアウトで止めたら解決した。

#!/usr/bin/env bash

. "${rvm_path}/scripts/functions/hooks/jruby"

if [[ "${rvm_ruby_string}" =~ "jruby" ]]
then
# jruby_ngserver_start
# jruby_options_append "--ng" "${PROJECT_JRUBY_OPTS[@]}"
else
# jruby_options_remove "--ng" "${PROJECT_JRUBY_OPTS[@]}"
jruby_clean_project_options
fi
 

JVMの起動が遅いので、起動済みJVMを使いまわすnailgunというのがある。
jruby –ng-server で起動して、 jruby –ng foo.rb でnailgun上でfoo.rbを実行できる。

スクリプト実行するまでの起動時間がめちゃくちゃ速くなってほぼゼロになる、なぜなら起動しっぱなしだから
というシステムなのだが開発中のウマくないプログラムがnailgunごと死んでしまうので、面倒だから止めたかったのだった。



nailgun無しだとMacbookAirの場合JRubyの起動毎に5秒以上かかるのだが、
export 'JRUBY_OPTS=-X-C'
export 'JAVA_OPTS=-d32'
しておくと2秒になる。
Macはふだん64bit server版のJVMを使っているが-d32を指定すると32bit client版が起動して速くなる。