我運行以下命令:性能的WC -l
time for i in {1..100}; do find/-name "*.service" | wc -l; done
得到了100線的結果,那麼:
真正0m35.466s 用戶0m15.688s SYS 0m14.552s
我然後跑以下命令:
time for i in {1..100}; do find/-name "*.service" | awk 'END{print NR}'; done
得到了100線的結果,那麼:
真正0m35.036s 用戶0m15.848s SYS 0m14.056s
我準確的,我已經跑了find/-name "*.service"
之前,因此被緩存兩個命令。我希望wc -l
要更快。爲什麼不是?
最初的'find'是緩存directs(inode),而不是內容。 –
'find'的結果不會被緩存。 –
@OliverCharlesworth,......好,它*略微* - dentry緩存至少意味着文件系統不需要返回到底層媒體。每次每次與文件系統交談時,它仍然是一個新的「find」實例。 –