was ist schneller, du oder stat?

2051
Matt

Was geht schneller unter Linux / Unix?

du -b file.dat 

oder:

stat -c %s file.dat 
2
Ist das nicht etwas, was Sie Just ™ versuchen könnten? jtbandes vor 13 Jahren 1
Ich habe es ausprobiert und die Ergebnisse sind manchmal * inkonsistent *, deshalb frage ich andere Leute. Matt vor 13 Jahren 0

2 Antworten auf die Frage

3
Chris Acheson

Mit dem timeBefehl können Sie Folgendes herausfinden:

time du -b file.dat time stat -c %s file.dat 
3
Xiè Jìléi

In diesem Beispiel scheint es etwas schneller zu sein.

$ 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 

Ich persönlich möchte jedoch stat verwenden, da die meisten Benutzer stat verwenden, um grundlegende Informationen einer einzelnen Datei abzurufen. Daher ist es wahrscheinlicher, dass stat in Zukunft für solche Jobs optimiert wird.

Hier ist stat: "real 0m2.183s" und hier ist du: "real 0m1.940s" .. Meine Datei ist 500MB [aus / dev / zero], also denke ich, dass _is_ schneller ist .. Matt vor 13 Jahren 0