在 Ubuntu 10.10 上安装的 Ruby 在一台机器上很慢,但在另一台机器上却不慢

在 Ubuntu 10.10 上安装的 Ruby 在一台机器上很慢,但在另一台机器上却不慢

我有一台几个月前配置的机器。使用 RVM 安装 ruby​​ 1.9.3-p125 以及 1.9.3-p125-perf。当我将原始 ruby​​ 性能与另一台相同的机器进行比较时,旧机器的表现优于它们。

例如:

================================================================================
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

对比

================================================================================
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

我尝试在快速机器上重新安装 1.9.3-p125 和 rvm,现在 ruby慢的。就好像 RVM 中发生了一些变化,或者我安装了某些包,导致 ruby​​ 的编译版本性能明显变差。

我知道这是一个很难回答的问题,但我应该研究哪些事情才能查明为什么性能会受到如此大的影响?

编辑

我刚刚尝试使用 ruby​​-build 安装,安装的版本很快。在我的环境中,rvm 构建它的某些操作很慢。

答案1

问题与 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

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

如果您也想要猎鹰补丁,您需要执行以下操作:

rvm get head && rvm reinstall 1.9.3-p194-perf --patch cflags.patch --patch falcon.diff --disable-shared --debug

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

相关内容