以 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 的图像/视频编码器和解码器的采用情况将会非常有趣。
文是楼上发的,图是楼上帖的,寻仇请认准对象。
有些是原创,有些图文皆转载,如有侵权,请联系告知,必删。
如果不爽,请怼作者,吐槽君和你们是一伙的!请勿伤及无辜...
本站所有原创帖均可复制、搬运,开网站就是为了大家一起乐乐,不在乎版权。
对了,本站小水管,垃圾服务器,请不要采集,吐槽君纯属用爱发电,经不起折腾。
暂无评论内容