我正在尝试使用drip根据JRuby wiki减少Rails应用程序的JRuby VM启动时间。
我通过更改JRUBY_OPTS
的某些内容来加快速度,但我没有看到任何使用滴水的减少。它似乎为每次调用启动了一个新的进程/ vm,而不是重新使用现有的VM。
我正在关注this guide以设置设置。
require_relative './config/application'
$ { time ( jruby -e 'puts 9*9') }
81
( jruby -e 'puts 9*9'; ) 0.08s user 0.08s system 14% cpu 1.144 total
$ drip ps
31166 org.flatland.drip.Main org.jruby.Main ...
$ { time ( jruby -e 'puts 9*9') }
81
( jruby -e 'puts 9*9'; ) 0.08s user 0.08s system 13% cpu 1.182 total
$ drip ps
30965 org.flatland.drip.Main org.jruby.Main
我预计那些滴水的过程ID是相同的。开放式听力非滴灌解决方案。我查看了theine / nailgun,但无法使它们工作。
答案 0 :(得分:2)
问题是我错过了这个导出:
export DRIP_INIT="" # Needs to be non-null for drip to use it at all!
作为rvm shell script on github的一部分找到的解决方案。
# Source this file if you use Drip to make the JVM not suck
# drip: https://github.com/flatland/drip
# https://github.com/flatland/drip/wiki/JRuby
# JAVACMD is honored by jruby
export JAVACMD=`which drip`
# Drip preloads our codez
export DRIP_INIT_CLASS=org.jruby.main.DripMain
export DRIP_INIT="" # Needs to be non-null for drip to use it at all!
# settings from: https://github.com/jruby/jruby/wiki/Improving-startup-time
export JRUBY_OPTS="-J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -X-C"