我的工作站是配备 SSD 的 MacBook Pro。出于安全原因,我的主卷已加密。我在一个文件夹上运行了这个命令:
time find . -exec stat {} + >/dev/null
real 0m5.205s
user 0m0.367s
sys 0m4.556s
该文件夹包含 1961 个项目。在没有 SSD 的 Linux (debian) 计算机上运行相同的命令需要 0.09s real(类似的文件夹,但它包含 1150 个项目)。
另外,find . -ls | wc -l
在我的工作站上运行只需要 0.05 秒(它还列出了修改日期)。
我可以做些什么来加快速度吗?
作为记录,我这样做是因为我的 boost.build 项目在我的工作站上需要 6 秒来检查依赖关系,而在 Linux 机器上只需要不到一秒。
编辑:我将有问题的文件夹复制到另一台具有 7200rpm 非加密硬盘的笔记本电脑上,find stat 命令需要 2.445 秒系统时间。
编辑 2:我解密了我的硬盘,现在在 osx 上的同一个 SSD 上需要大约 3.6 秒。
答案1
确保您在 OS X 中为 SSD 启用了 TRIM。我使用http://www.groths.org/trim-enabler/我注意到安装它并在启用支持的情况下重新启动后速度有了相当大的提高。
尝试一下,如果这对您的 I/O 速度有帮助,请回发。
另外,它在Linux机器上加密了吗?加密会带来一些开销。