2.3 から入った ISeq の precompile 機能を常に有効にして暮らすためには yomikomu と rubygems-yomikomu を使うと便利です。
yomikomu に用意されている YOMIKOMU_AUTO_COMPILE
をいじる方法だと require された ruby スクリプト全てが yarb にコンパイルされるようなので、普段使いとしては stdlib, ないし gem としてインストールしたものだけ yarb としてコンパイルして欲しい。ということで、rubygems の install hook でコンパイルする rubygems-yomikomu を使って yarb を生成するようにした上で RUBYOPT=-ryomikomu
をグローバルに設定して暮らすことにしてみた。早くなったかはわからない。
-ryomikomu
していると homebrew など、osx の system ruby を明示して起動するようなプログラムが動かなくなったりするけど、この辺はせっせと個別に対応して回っている。具体的には
export HOMEBREW_DEVELOPER=1
export HOMEBREW_RUBY_PATH=$HOME/.anyenv/envs/rbenv/shims/ruby
ってのを指定して homebrew が起動する ruby を差し替えることで対処した。常に開発版の Ruby を使って地雷を踏みたいので、-ryomikomu で暮らせないことがあったら個別に対応して回るって感じで。