Saat mencari kecocokan dengan grep, saya sering melihat bahwa pencarian berikutnya memakan waktu jauh lebih sedikit daripada yang pertama - misalnya 25s vs 2s. Jelas, itu bukan dengan menggunakan kembali struktur data dari jalankan terakhir - yang seharusnya sudah dialokasikan. Menjalankan timeperintah grep, saya perhatikan fenomena menarik:
real 24m36.561s
user 1m20.080s
sys 0m7.230s
Kemana sisa waktu pergi? Adakah yang bisa saya lakukan untuk membuatnya berlari cepat setiap saat? (mis. meminta proses lain membaca file, sebelum grepmencarinya.)
TL;DRjawabannya adalah "[blok menunggu] I / O".