Cnbeta 2024年12月09日
基于 Rust 的内存安全 PNG 解码器 "大大优于"基于 C 的 PNG 库
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

以Rust编写的视频和图像编解码器因其内存安全保证而备受关注。近期,image-png和zune-png Rust项目的Sergey Davidoff分享,内存安全的Rust PNG解码器性能远超普通C PNG库。在基准测试中,Rust png crate在x86平台比libpng快1.8倍,在ARM平台快1.5倍。这些基于Rust的解决方案不仅更安全,而且性能更优,并已在大量真实图像上进行测试,被认为可以投入生产。

🚀Rust编写的PNG解码器因其内存安全性而备受关注,被认为是防止畸形/恶意内容的有力工具,尤其是在Web浏览器中。

📈Sergey Davidoff发现,内存安全的Rust PNG解码器性能远超普通C PNG库,Rust png crate在x86平台比libpng快1.8倍,在ARM平台快1.5倍。

🧪这些基于Rust的解决方案(png、zune-png)已在超过10万张真实图像上进行广泛测试,支持APNG、读/写辅助块等现代PNG库功能,并被图像箱的每个用户使用,经过了彻底的实战测试。

✅基于Rust的PNG解码器不仅比基于C的PNG库更安全,而且性能更优,被认为可以投入生产。

🔮未来几年,基于Rust的PNG实现以及其他基于Rust的图像/视频编码器和解码器的采用情况值得关注。

以 Rust 编程语言编写的视频和图像编码器/解码器因其内存安全性保证而常被视为编程语言用于更好地防止畸形/恶意内容(尤其是 Web 浏览器中的畸形/恶意内容)的引人注目的领域之一。 事实证明,基于 Rust 的 PNG 图像解码器不仅比基于 C 的解码器更安全,而且 Rust 解决方案的性能甚至更快。

image-png 和 zune-png Rust 项目的 Sergey Davidoff 分享说,该团队在 Reddit 上发布了一些令人鼓舞的细节,他们自己发现内存安全的 Rust PNG 解码器的性能远远超过普通的 C PNG 库。

开发人员将他们的发现发布在 Reddit 上,并发表了评论:

"PNG 的内存安全实现(png、zune-png、wuffs)现在在解码图像时的性能大大优于内存不安全实现(libpng、spng、stb_image)。"

Rust png crate 在我们的基准测试中名列前茅,在 x86 平台上比 libpng 提高了 1.8 倍,在 ARM 平台上提高了 1.5 倍。 在 Reddit 上发布的基准测试中,他们使用的是 AMD Zen 4 系统。

除了比基于 C 的 PNG 库更快更安全之外,他们还认为这些基于 Rust 的解决方案可以投入生产:

"这可以投入生产吗?

是的!

所有三个内存安全实现都支持 APNG、读/写辅助块,以及现代 PNG 库所应具备的其他功能。

png 和 zune-png 已在广泛的真实图像上进行了测试,仅在测试语料库中就有超过 10 万张图像。 而 png 被图像箱的每个用户所使用,因此它已经过了彻底的实战测试。

WUFFS PNG v0.4 在我们的测试中似乎无法处理带 alpha 的灰度图像。 我们还没有深入研究这个问题,这可能是我们的配置问题,而不是错误。 不过,我们无法像 Rust 库那样为 WUFFS 作担保。"

在未来几年中,基于 Rust 的 PNG 实现以及其他基于 Rust 的图像/视频编码器和解码器的采用情况将会非常有趣。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Rust PNG解码器 内存安全 性能测试 图像处理
相关文章