SDカードのファイルI/Oパフォーマンス計測

端末とか SDカード の種類とかで大きく違うんでしょうけど、自分の端末で調べたのでメモ。

  • 機種: au HTC J(ISW13HT)
  • SDカード: 最初から付いてたやつ

計測項目

  • Create - テキストファイルの生成
  • List - ディレクトリ内の全ファイルの列挙
  • Rename - ファイル名の変更
  • Delete - ファイルを1つずつ削除
  • DelDir - 親ディレクトリを削除

計測方法

  • ディレクトリ内にファイルを 100個、1000個、10000個作成した時のそれぞれで計測。
  • それぞれの計測は5回行った平均値。
  • 計測に使ったコードはこちら

計測結果

ファイル数 Create List Rename Delete DelDir
100 1,606ms 939ms 1,664ms 2,792ms 1ms未満
1,000 15,527ms 950ms 17,359ms 27,057ms 6ms
10,000 227,236ms 1,003ms 254,338ms 191,631ms 69ms

まとめ

  • Create と Rename はファイル100個で約1.5秒、Delete は約×2 の時間がかかる。
  • List はファイル数にあまり影響されない。
  • DelDir は超早い。
  • CPU 使用率は 40〜60% だった。