我运行以下命令:性能的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”实例。 –