在jruby 9.1.5.0(2.3.1)中是否仍然禁用了ObjectSpace?
如果不仅仅是我的安装(Arch Linux,最新版)有错误,我怀疑ObjectSpace在最近的jruby中已经改变了:试图重现jruby's wiki entry about performance中描述的行为,我得到了以下反应:
$> 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吗?
答案 0 :(得分:0)
它没有改变 - 与之前的JRuby(1.7.x)相同
ObjectSpace
(即使在禁用时)适用于元类......它由Rails使用,并且在JRuby中很容易实现,而且没有性能成本。