From: wanabe Date: 2009-02-04T14:45:17+09:00 Subject: [ruby-dev:37895] Re: 配列の重複検出用Hashの使いまわし ワナベです。 2009/02/04 13:34 Tanaka Akira : > In article <8964790c0902032007n708f1587je29b391281bf5932@mail.gmail.com>, > wanabe writes: > >> ruby-1.9では配列内の重複要素の検出のために >> 内部でHashオブジェクトが生成されますが、 >> これをスレッドローカルに保存して使いまわすことで >> オブジェクト生成とGCの回数を減らすパッチを書きました。 > > Hash の操作をすると hash や eql? メソッドを呼びますが、その > 中でまた重複要素の検出が必要になることはないのでしょうか。 ご指摘ありがとうございます。 確かにそういったケースでは問題がありました。失礼しました。 $ ./ruby -e 'class Foo;def hash;[]|[];return super;end;end;a=[Foo.new, Foo.new];p a,a|[]' [#, #] [] -- ワナベ