【Rust日报】2026-06-19 Rust PNG crate 再提速:已进入 GNOME 与 Chromium 默认链路

💡 原文中文,约3600字,阅读约需9分钟。
📝

内容提要

Rust生态中的png crate(image-png)已成为Chromium和GNOME的默认PNG实现,解码性能显著提升,支持APNG,并增强了内存安全。ClickHouse讨论将Rust逐步引入现有C++系统,强调可审计性和兼容性。soa-rs发布1.0.0版本,简化了Struct of Arrays的使用。meon项目提供高效的文本解析引擎,采用扁平化数据结构以提升性能。

🎯

关键要点

  • Rust生态中的png crate(image-png)已成为Chromium和GNOME的默认PNG实现。

  • image-png在解码性能上表现优异,超越传统C实现。

  • Chromium采用image-png是因为其在功能、兼容性、正确性和性能上的优势。

  • GNOME应用通过image-rs/glycin支持APNG,解决了libpng不支持的问题。

  • 性能提升主要得益于优化的解码算法和对硬件加速的利用。

  • ClickHouse讨论将Rust逐步引入现有C++系统,强调可审计性和兼容性。

  • Rust组件的接入方式应为可审计、可复现,而非重写现有系统。

  • soa-rs发布1.0.0版本,简化了Struct of Arrays的使用,增加了实用的宏和功能。

  • meon项目提供高效的文本解析引擎,采用扁平化数据结构以提升性能。

🔎

延伸解读

Rust在图像处理中的优势

Rust的image-png crate在解码性能上显著优于传统C实现,成为Chromium和GNOME的默认PNG实现。这表明Rust不仅在安全性上有优势,其性能也能与C语言相抗衡,适合高性能图像处理应用。

Rust与现有系统的兼容性

ClickHouse的讨论强调了将Rust引入大型C++系统时的可审计性和兼容性。通过逐步接入Rust组件,而非重写现有系统,团队可以降低风险并确保系统的稳定性,这为其他大型项目提供了借鉴。

soa-rs的实用性提升

soa-rs 1.0.0版本的发布简化了Struct of Arrays的使用,增加了实用的宏和功能。这一进展对于需要高性能数据布局的项目尤为重要,尤其是在ECS和数值计算领域,提供了更成熟的工具选择。

meon项目的创新设计

meon项目通过扁平化数据结构和零拷贝设计,提升了文本解析的性能。其不依赖传统AST模型的思路,展示了Rust在文本处理领域的潜力,值得关注其在实际应用中的表现。

延伸问答

Rust的png crate在性能上有什么优势?

Rust的png crate(image-png)在解码性能上表现优异,超越传统C实现,能够达到410.8 MP/s的平均解码速度。

为什么Chromium选择使用Rust的image-png?

Chromium选择image-png是因为其在功能、兼容性、正确性和性能上的优势,而不仅仅是因为Rust的安全性。

image-png如何支持APNG格式?

image-png通过与glycin/image-rs的结合,解决了libpng不支持APNG的问题,从而为GNOME应用提供了APNG支持。

ClickHouse如何引入Rust?

ClickHouse计划将Rust逐步引入现有C++系统,强调以可审计、可复现的方式接入,而不是重写现有系统。

soa-rs 1.0.0版本有哪些新特性?

soa-rs 1.0.0版本新增了SoA类型的复制宏、改进了批量追加数据的处理方式,并修正了宏在特定情况下的行为。

meon项目的设计理念是什么?

meon项目采用扁平化数据结构,直接将解析结果组织成Struct of Arrays风格,以提高性能和缓存友好性。

🏷️

标签

➡️

继续阅读