Python File Copy Test1
はじめに
ファイルコピーのプログラムを作ってみたのは良いが、やったらめったら遅いのが気になって、パフォーマンスを計測してみることに。
とりあえずshutilが遅いのではないか、という疑惑があって、shutil.copyfile、shutil.copy、os.system('cp "{0}" "{1}".format())という3つの方法で計測している。
Result
100MB file
Method | ext4 | ZFS |
shutil.copyfile | 0.459 | 0.459 |
shutil.copy | 0.452 | 0.460 |
os.system('cp') | 0.357 | 0.325 |
結論
良く考えてみたら、HDDのランダムアクセス(many filesの場合ランダムアクセスになる)が遅いのを、最近SSDばっかり使ってるせいかうっかり忘れてた。
ちなみに多くの場合でshutil.copyの方が早いので、ファイル名を変更しない場合は、copyfileよりcopyの方が良い。