Find
為什麼連續查找命令更快?
我注意到
find <dir> -depth
第一次在目錄上使用時,它消耗了很多時間,但下一次即使搜尋不同的模式,它似乎也很快。為什麼會這樣,甚至可以進一步使用這種行為來獲得更好的性能嗎?
當您第一次鍵入
find
命令時,作業系統必須從磁碟中獲取子目錄資訊。第二次鍵入相同的命令時,您從記憶體中獲取數據,速度更快。如果您使用不同的模式過濾輸出,
find
即使只有一些條目與模式匹配,也會完全讀取每個目錄。然後記憶體將充滿其他模式所需的資訊。但是,如果您使用系統一段時間,記憶體記憶體可以用於其他目的……那麼相同的
find
命令可能必須再次從磁碟取回數據,並且可能與第一次一樣慢。如果要限制重複使用高速記憶體記憶體的風險,則必須添加記憶體。