当前位置:首页>Linux>Rust 重写 Linux 核心工具链:uutils 0.7 发布,性能大幅优化

Rust 重写 Linux 核心工具链:uutils 0.7 发布,性能大幅优化

  • 2026-10-05 10:23:55
Rust 重写 Linux 核心工具链:uutils 0.7 发布,性能大幅优化

Rust 重写 Linux 核心工具链:uutils 0.7 发布,性能大幅优化

用 Rust 重写 GNU Coreutils 的项目 uutils,刚刚发了 0.7 版本。

这个项目的目标非常明确——用 Rust 语言一对一替换掉 Linux 系统里那些最基础的命令行工具,比如 ls、cp、cat、sort 等等。这些工具虽然不起眼,但几乎是每个 Linux 系统的地基。

这次更新改了什么

0.7 是一个以性能优化为主线的版本。根据发布说明,开发者对几十个实用工具进行了系统性的提速,主要手段包括:

  • • 更快的哈希表实现:底层数据结构直接换掉,减少查找开销
  • • 新的 ASCII 快速路径:对纯 ASCII 输入走专门的高速通道,避免不必要的 Unicode 处理逻辑
  • • 减少 malloc 分配:多个命令的内存分配次数被大幅削减,这对于高频调用的小工具来说效果非常明显

除了性能,另一个重点方向是减少 unsafe 代码的使用。Rust 最大的安全卖点就是内存安全,但在性能敏感的底层代码中,开发者有时不得不绕过安全检查用 unsafe 块。这次更新把不少 unsafe 代码替换成了更安全的抽象,在不牺牲性能的前提下提升了代码整体的安全水位。

兼容性方面

uutils 项目用 GNU 的官方测试套件来衡量自己的兼容程度。这个版本的通过率从之前的 96.2% 变成了 94.5%,数字看上去反而降了。

但这并不是说功能退步了。实际原因是 GNU Coreutils 自己的 9.10 版本新增了 19 个测试用例,分母变大了。对比同样的测试基准,实际的兼容性是在持续改进的。

另外这版还修了在 NetBSD 和 PowerPC 架构上的编译问题,跨平台支持进一步完善。

这个项目为什么值得关注

GNU Coreutils 是 1992 年的产物,用 C 语言写的。这么多年下来,代码里积累了不少历史包袱,尤其是在内存安全方面,时不时就有 CVE 冒出来。

用 Rust 重写并不只是换个语言这么简单。Rust 的所有权模型从编译期就能杜绝一大类内存错误,这对于系统底层工具来说意义重大。

当然距离完全替代还有距离,94.5% 的兼容率意味着在某些边界场景下行为还和 GNU 版本不一致。但考虑到这是一个纯社区驱动的项目,这个进度已经相当可观了。

感兴趣的可以去 GitHub 上直接体验:https://github.com/uutils/coreutils

信息来源:

  • • https://www.phoronix.com/news/Rust-Coreutils-uutils-0.7

最新文章

随机文章