From: matz@... (Yukihiro Matsumoto) Date: 2002-02-27T16:30:18+09:00 Subject: [ruby-dev:16141] Re: Hash implementation まつもと ゆきひろです In message "[ruby-dev:16140] Re: Hash implementation" on 02/02/27, "K.Kosako" writes: |MORITA Naoyukiさんの<20020227152832B.naohaq@ps.sakura.ne.jp>から |> Hashクラスの動作がとても重いのでRuby 1.6.6 の hash.c と st.c をちょっ |> と見てみたんですが、Hashクラスをnewした時に生成されるhashのbinの数(?) |> が現在の実装だと11しか取られないようなので、hashのサイズが少し大きくな |> ると極端に効率が低下してしまいます。 | |登録要素数とbinの数の比が一定の値(5)以上になると、 |自動的にサイズが拡張されます。(ADD_DIRECT()の中で) その通りです。というわけでサイズが小さすぎるのは必ずしも直接 関係ないかもしれません。 |関係ないかもしれませんが、今、st.cを読んで見ると、 |table->num_binsにセットされる値が偶数になっている |のではないかと思うのですが。 あ。直しておきます。