jRuby 在 VMware 上的启动性能变慢



启动Sinatra应用程序时,我的旧上网本(AMD C-60(将在5-7秒(Ruby(,23-24秒(JRuby(内启动

操作系统(上网本(:32位Arch Linux 3.4.62-1 i686 PAE (2GB RAM(

我的开发电脑(AMD A8-6600K(从1-2秒(Ruby(,12-16秒(JRuby(开始

操作系统: 32 位 Arch Linux 3.11.1-1 i686 PAE (8GB RAM(

当我在开发PC上添加vmware时,从0.9-2秒(Ruby(,7秒(JRuby(开始

Guest OS (vm-pc(: 32 位 Arch Linux 3.11.1-2 i686 (1.5GB RAM(

在 64 位 VMware 下使用 32 位来宾时(i3-3220,应该比我的旧上网本快很多倍(,它会在 45-46 秒(Ruby(和 30-37 秒(JRuby(内启动。

Guest OS (vm-i3(: 32 位 Arch Linux 3.11.1-2 i686 (1.5GB RAM(

主机操作系统:64位Ubuntu Linux 3.8.0.19 x86_64 13.04(2GB RAM,仅运行Unity,VMware和gnome-terminal(

运行单个脚本(向数据库生成 12MB 数据(时,性能正常:

real/user/sys
netbook: ruby: 4:25/2:13/0:02 jruby: 13:21/11:46/0:09
pc:      ruby: 1:39/0:31/0:05 jruby:  3:52/ 3:38/0:03
vm-pc:   ruby: 0:40/0:31/0:06 jruby:  3:25/ 3:12/0:02
vm-i3:   ruby: 1:18/0:21/0:05 jruby:  3:16/ 2:19/0:35

配置:

Ruby: using Thin web server, ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux]
JRuby: using Trinidad web server, jruby -v
jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on OpenJDK Client VM 1.7.0_40-b31 +indy [linux-i386]

VM-i3 上启动缓慢的原因有哪些可能性?

问题出在/etc/hosts文件上,忘记添加包含本地主机/主机名的行

另一件可能会在启动时减慢 ruby 速度的事情是 rubygems 模块。如果您不需要加载 gem,则可以通过使用 --disable-gems 选项运行 ruby 来加快启动速度。

如果您稍后决定要加载 Gem,则在require 'some_gem'行上方的简单require 'rubygems'就足够了。

最新更新