安装在 Ubuntu 10.10 上的 Ruby 在一台机器上运行缓慢,但在另一台机器上没有

Aar*_*sen 5 ubuntu ruby

我有一台几个月前配置的机器。RVM 用于安装 ruby​​ 1.9.3-p125 以及 1.9.3-p125-perf。当我将未加工的红宝石性能与另一台相同的机器进行比较时,较旧的机器抽了它们。

例如:

================================================================================
With in-block needle calculation
================================================================================
Rehearsal ----------------------------------------------
detect       3.790000   0.000000   3.790000 (  3.800895)
each         2.410000   0.000000   2.410000 (  2.420860)
any          3.960000   0.000000   3.960000 (  3.972099)
include      1.440000   0.000000   1.440000 (  1.442862)
------------------------------------ total: 11.600000sec
Run Code Online (Sandbox Code Playgroud)

对比

================================================================================
With in-block needle calculation
================================================================================
Rehearsal ----------------------------------------------
detect      10.740000   0.000000  10.740000 ( 10.769366)
each         6.080000   0.010000   6.090000 (  6.106323)
any         10.600000   0.000000  10.600000 ( 10.641606)
include      4.160000   0.000000   4.160000 (  4.171530)
------------------------------------ total: 31.590000sec
Run Code Online (Sandbox Code Playgroud)

我试图在快速机器上使用 rvm 重新安装 1.9.3-p125,而 ruby​​ 现在很慢。就好像 RVM 中的某些内容发生了变化,或者我安装了一些使 ruby​​ 编译版本的性能显着变差的包。

我知道这是一个很难回答的问题,但是我应该调查哪些事情才能找出性能受到如此严重影响的原因?

编辑

我只是尝试使用 ruby​​-build 安装,安装的版本很快。rvm 在我的环境中构建它的过程很慢。

Aar*_*sen 3

该问题与 RVM 使用的一些默认值有关。有两件事有很大的不同,--disable-shared 和 --patch cflags.patch

cflags.patch 仅适用于 1.9.3-p194 和 p286,现在会自动添加。

rvm get head && rvm reinstall 1.9.3-p194 --disable-shared --debug
Run Code Online (Sandbox Code Playgroud)

您应该看到 cflags.patch 已应用。

如果你也想要猎鹰补丁,你需要这样做:

rvm get head && rvm reinstall 1.9.3-p194-perf --patch cflags.patch --patch falcon.diff --disable-shared --debug
Run Code Online (Sandbox Code Playgroud)

信息来自: https: //github.com/wayneeseguin/rvm/issues/1240