o que é mais rápido, du ou stat?

2

O que é mais rápido no Linux / Unix?

du -b file.dat

ou:

stat -c %s file.dat
Matt
fonte
11
Não é algo que você poderia Just Try ™?
jtbandes
Eu tentei, e os resultados às vezes são inconsistentes , é por isso que estou perguntando a outras pessoas.
Matt

Respostas:

3

Parece que du é um pouco mais rápido neste exemplo.

$ 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

Mas, pessoalmente, eu prefiro usar o stat, porque a maioria das pessoas usa o stat para recuperar informações básicas de um único arquivo. Portanto, é mais provável que o stat seja otimizado para esses trabalhos no futuro.

Xiè Jìléi
fonte
Aqui está stat: "real 0m2.183s" e aqui é du: "real 0m1.940s" .. Meu arquivo tem 500MB [extraído de / dev / zero], então acho que du é mais rápido ..
Matt
3

Você pode usar o timecomando para descobrir:

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