3

Which goes faster on Linux/Unix?

du -b file.dat

or:

stat -c %s file.dat
Gareth
  • 19,080
Matt
  • 787

1 Answers1

3

It seems du is slightly faster in this example.

$ 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

But personally, I'd prefer to use stat, because most people use stat to retrieve basic information of a single file. So it's more likely stat will be optimized for such jobs in future.

Lenik
  • 18,830