で一致するものを探すgrepと、その後の検索にかかる時間が最初の検索よりもはるかに短いことに気づくことがよくあります(例:25秒対2秒)。明らかに、それは最後の実行からのデータ構造を再利用することによるものではありません-それらは割り当て解除されるべきでした。でtimeコマンドを実行するとgrep、興味深い現象に気付きました。
real 24m36.561s
user 1m20.080s
sys 0m7.230s
残りの時間はどこに行くのですか?毎回高速に実行するためにできることはありますか?(たとえば、ファイルをgrep検索する前に、別のプロセスにファイルを読み取らせます。)
TL;DR答えは「[ブロック待機中] I / O」です。