что быстрее, ду или стат?

2011
Matt

Что идет быстрее в Linux / Unix?

du -b file.dat 

или же:

stat -c %s file.dat 
2
Разве это не то, что вы можете просто попробовать ™? jtbandes 13 лет назад 1
Я попробовал, и результаты иногда * противоречивы *, поэтому я спрашиваю других людей. Matt 13 лет назад 0

2 ответа на вопрос

3
Chris Acheson

Вы можете использовать timeкоманду, чтобы узнать:

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

Кажется, в этом примере 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 для получения основной информации из одного файла. Таким образом, более вероятно, что статистика будет оптимизирована для таких работ в будущем.

Вот stat: "real 0m2.183s", а вот du: "real 0m1.940s" .. Мой файл 500 МБ [взят из / dev / zero], поэтому я думаю, что _ _ ​​__ быстрее .. Matt 13 лет назад 0