You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS Sequoia APFS环境下最快的文件夹重命名方式探究

更新

基于rename相关方案;

python3 \
  -c "from os import rename; from sys import argv; rename(argv[1], argv[2])" \
  $original $temp

在当前电脑环境下似乎是最快的方案。
这本不该是最优解,但实际情况就是如此。


我使用的是macOS Sequoia 15.2系统,存储在采用APFS的加密磁盘上。在虚拟机测试中,加密对操作耗时无明显影响,而APFS设计中的*全局锁(Global Lock)*才是导致操作变慢的原因。此外,openradar上也有相关bug报告。

因此,我们必须使用一些技巧来完成文件删除操作,以达到接近ext4或其他常规文件系统的速度。

以下是我的测试情况:

使用mv命令:

❯ time ( mv node_modules nm )

real    0m7.578s
user    0m0.001s
sys 0m0.003s

通过rm实现“移动”

即彻底删除文件。我的最终目标其实是删除文件

❯ time ( rm -rf node_modules )

real    0m17.763s
user    0m0.132s
sys 0m11.539s

通过rsync实现“移动”

❯ time ( rsync -av --delete $(mktemp -d)/ ./node_modules )
Transfer starting: 1 files

sent 79 bytes  received 26 bytes  70 bytes/sec
total size is 0  speedup is 0.00

real    0m16.208s
user    0m0.376s
sys 0m11.505s

我很惊讶mv命令不是即时完成的——因为它应该只需要更新inode即可,不是吗?

除了上述openradar的问题,似乎也有其他用户注意到了这个问题:

  • 苹果社区相关讨论
  • openradar的同一份bug报告

不过可能Mac用户通常不会处理大型项目?或者他们只是因为“Mac好用”就忍受这个问题?不知道正常速度应该有多快?我不太清楚,这确实很奇怪。


@fravadona建议我禁用杀毒软件(AV)。

我已经禁用了。之前的情况要糟糕得多——耗时是现在的2-4倍。我之前用的是MalwareBytes,嗯……从名字就能看出来……所以如果可以选择杀毒软件的话,最好不要选这一款。

还有一些软件我需要测试:

  • CyberHaven
  • Kandji ESF

由于我没有测试硬件的所有权,无法禁用这些软件,但我可以启动macOS虚拟机进行相同测试:

以下是测试结果:

mv命令

time ( mv node_modules nm.bak )

real  0m0.011s

rm -rf命令

time ( rm -rf node_modules )

real    0m12.812s

所以……这真的很离谱。


内容的提问来源于stack exchange,提问作者NullVoxPopuli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 17:26:06