web-dev-qa-db-ja.com

何が速いですか、duまたはstat?

Linux/Unixではどちらが速くなりますか?

du -b file.dat

または:

stat -c %s file.dat
2
Matt

この例では、duの方が少し速いようです。

$ time bash -c 'for ((i=1; i<1000;i++)); do stat -c %s file1 >/dev/null; done'
real    0m3.588s
user    0m0.120s
sys 0m0.344s

$ time bash -c 'for ((i=1; i<1000;i++)); do du -b file1 >/dev/null; done'
real    0m3.161s
user    0m0.092s
sys 0m0.360s

しかし、個人的には、ほとんどの人がstatを使用して単一ファイルの基本情報を取得するため、statを使用することをお勧めします。したがって、統計は将来そのような仕事のために最適化される可能性が高くなります。

3
Xiè Jìléi

timeコマンドを使用して、次のことを確認できます。

time du -b file.dat
time stat -c %s file.dat
3
Chris Acheson