トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2013-7-2の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!lsにかかる時間
@mogmodが,
https://twitter.com/mogmod/status/352022431986221057
とつぶやいていたので,ためしてみたけどそんなに遅くない.
手元のはext4だった.で計ってみると
{{ref_image ls.png}}
という結果に.
赤い方は,
 require 'benchmark'
 
 10000.times{|i|
  100.times{|j|
    system("touch file#{i}_#{j}")
  }
  puts (i*100).to_s + " " + Benchmark.measure{ system("ls > /dev/null") }.to_s
 }
として計測した結果をプロットしたもので,
緑の方は,10000個,100000個,150000個ファイルを作って,
普通にlsしたときのウォールクロック時間をプロットしたもの.
""

ちなみに,調べてみるとext4ではH-tree(とWikipediaには書いていある)を採用して
探索性があがっている,ということ.
lsだとあまり関係ないような気もするけど.
グラフだと,出力にかかっているコストの影響が強いようにみえるし.
ちなみに測定したマシンへはsshでログインしているので,
その辺も測定環境としては何とも言えない.
""

この結果で云々ということではなくて,
まあ,こんなものだっていう感覚だけ覚えておこう.
""