[#45318] Windows コマンドプロンプトで UTF-8を出力するには — Yuumi Yoshida <yuumi3@...>

おつかれさまです、 Yuumi3です。

11 messages 2008/08/08

[ruby-list:45435] Re: Dir[] with **/

From: Nobuhiro IMAI <nov@...>
Date: 2008-08-30 02:14:40 UTC
List: ruby-list #45435
いまいです。

From: "NARUSE, Yui" <naruse_at_airemix.jp>
Date: Sat, 30 Aug 2008 09:55:14 +0900

> 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秒くらいで、
> それ以上は測定ごとの誤差に埋もれてしまうくらいでした。

Dir["/usr/**/*.rb"] ということでしょうか。

> 結局、IO が遅すぎ&測定ごとにばらつきありすぎってことですかね。
> SSD とかだと違うのかもしれませんが。

後は GC でしょうか。マッチするファイル数にもよりますが、GC.disable し
た方が速いようで、逆に GC.stress=true だと 1.8 では終わりそうにありま
せんでした。
# それは Dir.glob とは関係ないですね……
--
Nobuhiro IMAI <nov@yo.rim.or.jp>
Key fingerprint = F39E D552 545D 7C64 D690  F644 5A15 746C BD8E 7106

In This Thread