我有一个Rails 3.2.2应用程序,我希望使用JRuby 1.6.7(1.9.2模式)运行.
我有一个在MRI ruby 1.9.3中运行的示例应用程序,一个典型的请求在~40ms内返回:在36ms完成200 OK(浏览次数:27.5ms | ActiveRecord:8.2ms)
在JRuby下使用相同的请求可能会慢3到20倍,具体取决于页面.对于与上述相同的操作,需要~180ms:180ms内完成200 OK(浏览次数:153.0ms | ActiveRecord:24.0ms)
这是正常的性能差异吗?我已经读过JRuby与MRI的速度大致相等.结果保存在我的Mac和Windows服务器上(不幸的是,它需要运行).使用在Tomcat下运行的Warbler将其打包也同样缓慢.
以上时间来自为测试JRuby而创建的基本rails应用程序.在更复杂的应用程序上,时间甚至更远.在该应用程序上,有些页面上运行了更多的ruby代码.似乎页面越依赖于ruby,我观察到的性能差异就越大.我没有对JRuby进行调整,因为我不知道从哪里开始.
所以我的问题是:这是正常的吗?我该怎么做来调整JRuby?