遠藤です。

2008/10/18 1:02 wanabe <s.wanabe / gmail.com>:
> ワナベです。
>
> 2008/10/17 22:51 Yukihiro Matsumoto <matz / ruby-lang.org>:
>> ありがとうございます。でも、test/ruby/test_array.rb:1183で
>>
>>  RuntimeError: sort reentered
>>
>> が出るようになっちゃいましたねえ。
>
> すみません、sort中には再利用しないように変更してコミットしました。
> test-allも何度も確かめたはずだったのですが見落としていました。

この修正によって、sort 中だけでなく、すべての再利用ができなくなった
ような気がします。そうだとすると、リファレンスカウントの分だけ遅く
なっている予感がします。

$ ./ruby
GC::Profiler.enable
a,b=[1,2,3,4], [5,6,7,8]
Thread.new{$stop=sleep 10}
until $stop
 a.replace b
 b[0] = 1
end
print GC::Profiler.result[/.*\n/]
GC 1459 invokes.

-- 
Yusuke ENDOH <mame / tsg.ne.jp>