2

在 jruby 9.1.5.0 (2.3.1) 中 ObjectSpace 是否仍然被禁用?

如果不仅仅是我的安装(Arch Linux,最新)有错误,我怀疑 ObjectSpace 在最近的 jruby 中发生了变化:尝试重现jruby 的关于性能的 wiki 条目中描述的行为,我得到以下反应:

$> jruby -O
jruby: unknown option -O
$> jruby -J-Djruby.objectspace.enabled=false
puts ObjectSpace.each_object(Class).inspect
#<Enumerator: ObjectSpace:each_object(Class)>
$> jruby -v
jruby 9.1.5.0 (2.3.1) 2016-09-07 036ce39 Java HotSpot(TM) 64-Bit Server VM 25.102-b14 on 1.8.0_102-b14 +jit [linux-x86_64]

那么最新情况如何呢?现在是否安全/推荐在现代 jruby 中使用 OpenSpace?

4

1 回答 1

0

它没有改变 - 与以前的 JRuby (1.7.x) 相同

ObjectSpace(即使在禁用时)适用于元类......它被 Rails 使用,并且很容易在 JRuby 中实现而没有性能成本。

于 2016-10-15T19:43:39.933 回答