From: "NARUSE, Yui" Date: 2008-08-30T09:55:14+09:00 Subject: [ruby-list:45432] Re: Dir[] with **/ 成瀬です。 Nobuhiro IMAI wrote: > それはそれとして、Dir.glob の方に何かフラグを付けると昇順・降順にソー > トして返すようになったりはしないでしょうか?スクリプト側でソートするよ > り高速なら、嬉しいかもしれません。 Dir["/path"].entries.sort ならば組み込みのものを使うので、 関数呼び出し等が減る分若干速くなる・・・かに思えるんですが、 ソートしてもしなくても、組み込みでもブロックでもたいして変わりません。 手元の環境で * Dir["/usr"].entries * Dir["/usr"].entries.sort * Dir["/usr"].entries.sort{|a,b|b<=>a} を Ruby 1.8.7 と Ruby 1.9 で試してみたのですが、 Ruby 1.8 のブロック版が28秒な以外は、どれも 16から18秒くらいで、 それ以上は測定ごとの誤差に埋もれてしまうくらいでした。 結局、IO が遅すぎ&測定ごとにばらつきありすぎってことですかね。 SSD とかだと違うのかもしれませんが。 -- NARUSE, Yui