Rustup 在 Windows 和 NFS 上性能优化的幕后故事:NTFS 并非元凶,效率提升的关键在于精细化系统调用管理和反病毒软件协调

linux.conf.au

总结:

本视频详细介绍了 rustup(Rust 安装器)在 Windows 上安装速度从最初的3分30秒大幅提升至14秒,以及在 NFS 环境中优化到15秒的旅程。

  • 最初,rustup 在 Windows 上的安装速度极慢,问题被归咎于 NTFS、小文件和反病毒软件。
  • 通过将文件操作从“复制”改为“移动”,减少了不必要的 stat 系统调用,并增大了 tar 文件读取缓冲区,显著提升了性能。
  • Windows Defender 对文件关闭操作的扫描导致了性能瓶颈,通过将文件句柄关闭操作推迟到单独线程,并将文件扫描模式从“写入时”改为“读取时”,大幅降低了 Defender 的影响。
  • NFS 环境下的性能问题通过进一步优化文件 I/O 和目录操作的线程化、以及在文件提取时同步设置权限来解决。
  • 视频强调了系统调用并非免费,以及精细化管理文件操作的重要性,同时也揭示了即使在看似高效的 Linux 环境中,不佳的代码实践也可能导致性能问题。
    初始Rustup在Windows上安装文档的性能问题
    初始Rustup在Windows上安装文档的性能问题 [ 00:02:20 ]

引言与Rustup性能挑战 [00:00:16]

主讲人介绍了 rustup,即 Rust 编程语言的安装器,它负责安装 Rust 及其各种组件(包括文档),并支持 Linux、Mac 和 Windows 等平台。

Rustup内部代码优化 [00:05:03]

Tar-rs库的外部优化 [00:16:22]

反病毒软件(Windows Defender)的性能问题 [00:21:12]

NFS 性能问题及解决方案 [00:31:06]

经验总结 [00:33:38]

WSL1 性能挑战 [00:34:15]

问答环节摘要