cái gì nhanh hơn, du hay stat?


2

Cái nào đi nhanh hơn trên Linux / Unix?

du -b file.dat

hoặc là:

stat -c %s file.dat

1
Đây không phải là thứ bạn có thể thử ™ sao?
jtbandes

Tôi đã thử nó, và kết quả đôi khi không nhất quán , đó là lý do tại sao tôi hỏi người khác.
Matt

Câu trả lời:


3

Có vẻ như du nhanh hơn một chút trong ví dụ này.

$ 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

Nhưng cá nhân, tôi thích sử dụng stat hơn, vì hầu hết mọi người sử dụng stat để lấy thông tin cơ bản của một tệp. Vì vậy, nhiều khả năng stat sẽ được tối ưu hóa cho những công việc như vậy trong tương lai.


Dưới đây là stat: "0m2.183s thực" và đây là du: "0m1.940s thực" .. tập tin của tôi là 500MB [lấy từ / dev / zero], vì vậy tôi đoán du nhanh hơn ..
Matt

3

Bạn có thể sử dụng timelệnh để tìm hiểu:

time du -b file.dat
time stat -c %s file.dat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.