From: Tetsuo Sakaguchi Date: 2007-08-21T23:14:34+09:00 Subject: [ruby-list:43910] Re: Hashへの生成順は保障されないのか? 阪口です。 ちょっとベンチマークの値が気になったので、パッチを 覗いてみたのですが、ちょっと気になる点を見つけました。 (重箱の角でしかないかもしれませんが。。) In message <20070821014331.6640AE02CB@mail.bc9.jp> 2007-08-21T10:43+0900, Nobuyoshi Nakada wrote: > http://www.rubyist.net/~nobu/ruby/ordered-hash-1.9.diff > http://www.rubyist.net/~nobu/ruby/ordered-hash-1.8.diff このパッチ、rehashのメモリの割り当てが Calloc(=calloc) から、 xrealloc に変更されていますね。 このパッチによってrehash時の「0初期化」処理の分は少なくとも 速くなると思うので、それによって(ある程度)相殺されているということは ないでしょうか? (あと、私が計るとブロックを { sg.generate; sg.generate } のみにした時と add to empty hashを比較したら、1.579real : 1.796real のようになったので、 最初の2つはどちらかというとシンボル生成の時間がかなりを占めるようです。 環境にもよると思いますが。) PS. 時間がとれれば環境整えて自分でパッチを当ててみようかとも思いますが、、。 -- 阪口哲男@図書館情報メディア研究科.大学院.筑波大学 Tetsuo SAKAGUCHI. Graduate School of Library, Information and Media Studies University of Tsukuba, JAPAN.