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

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.