Khi tìm kiếm kết grep
quả trùng khớp , tôi thường nhận thấy rằng lần tìm kiếm tiếp theo mất ít thời gian hơn đáng kể so với lần đầu tiên - ví dụ 25 giây so với 2 giây. Rõ ràng, không phải bằng cách sử dụng lại các cấu trúc dữ liệu từ lần chạy cuối cùng của nó-- những cấu trúc đó đã bị loại bỏ. Chạy một time
lệnh trên grep
, tôi nhận thấy một hiện tượng thú vị:
real 24m36.561s
user 1m20.080s
sys 0m7.230s
Phần còn lại của thời gian đi đâu? Có điều gì tôi có thể làm để làm cho nó chạy nhanh mỗi lần không? (ví dụ: có một quá trình khác đọc các tệp, trước khi grep
tìm kiếm chúng.)
TL;DR
câu trả lời là "[khối chờ] I / O".