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% だった。
- Next: ExecutorService の復習
- Previous: au を解約して全面的にIP電話+MVNOに移行しようか検討しています