悬赏14万元,只为让Rust追平C?FFmpeg「神吐槽」:Rust真好啊,好到要靠“打钱”才能赶上C

近日,Prossimo 公司为其 AV1 解码器 rav1d 发起了一则“性能悬赏计划”。简单来说,就是他们用 Rust 编写的 AV1 解码器 rav1d,性能不如用 C 语言编写的 dav1d 解码器,为此 Prossimo 设立了 2 万美元(约合人民币 14.3 万元)的悬赏金,寻求能让 rav1d 的性能达到与 dav1d 同等水平的方法。

而针对这则悬赏,开源多媒体框架FFmpeg 以略带调侃的语气在 X 上讽刺道:“Rust 真好啊,好到你需要花 2 万美元才能让它跑得和 C 语言一样快。

这条推文,在开发者社区又掀起了一场关于编程语言选择的激烈讨论:所以,到底是 Rust 好还是 C 语言好?

2 万美元悬赏?FFmpeg 公开质疑 Rust 性能

根据 Prossimo 公司发布的悬赏计划内容,rav1d 是他们自 2023 年 3 月开始开发的一个更安全的高性能 AV1 解码器,主要使用 Rust 编写。到了2024 年 9 月rav1d 基本完成,如今也运行良好,并通过了与用 C 语言编写的 dav1d 解码器相同的所有测试。

只有一个问题:它的速度不如 C 语言版本快。我们希望改变这一点,并且需要你的帮助。

Prossimo 坦言,基于 Rust 的 rav1d 解码器要比基于 C 语言的 dav1d 解码器慢 5%——这个数值看似不大,但对于潜在用户来说,足以成为一个关键的考虑因素。对此,他们的开发团队努力优化,还请来了几位有类似优化经验的承包商,却始终无法实现与dav1d 相同的性能。

而这也正是 Prossimo 悬赏 2 万美元寻求性能优化方法的原因:

“在反复思考各种可行的方案后,我们最终决定:设立一个总额为 2 万美元的奖金池,悬赏全球开发者让 Rust 编写的 AV1 解码器 rav1d 达到 C 实现的 dav1d 的性能水准。我们希望这项悬赏不仅能推动 rav1d 的性能提升,更能让我们以及整个 Rust 社区对 Rust 在性能层面与 C 的差距和潜力有更深入的理解。”

当然,Prossimo 也给这个“悬赏计划”设定了一些要求:

本次挑战面向个人或团队,参与者需为以下国家或地区的合法居民或公民:美国、英国、欧盟、欧洲经济区、瑞士、加拿大、新西兰或澳大利亚

主要目的是提升性能,你的优化可以体现在rav1d 项目本身、Rust 编译器或 Rust 标准库上。

需要特别注意的是,dav1d 和 rav1d 使用的是完全相同的底层汇编优化代码,你不能修改这些汇编代码。两者的不同之处仅在于 dav1d 是用 C 编写,而 rav1d 是用 Rust 编写。因此,你只能优化 Rust 层的代码或 Rust 编译工具链,并且只能使用 Rust 编写代码,不能引入任何其他语言的实现。为了避免你在不符合资格的方向上投入过多精力,强烈建议在开始之前先通过 issue 或邮件方式先向 Prossimo提问并确认。

意料之中,Prossimo 的这个悬赏计划吸引了许多开发者的关注,其中就包括了开头所说的 Fmpeg,其“嘲讽”的评论引发行业关注:部分开发者认为这是 “传统 C 阵营” 对 Rust 热潮的一次公开质疑;也有人将其视为开源社区内部关于技术路线的正常争论

Rust 与 C 语言之间的“性能之争”

要理解这场争议的背景,先简要回顾一下 Rust 的崛起历程。

自 2015 年正式发布以来,Rust 近年来凭借独特的内存安全特性,逐渐在安全敏感领域崭露头角。2024 年,美国白宫国家网络安全办公室(ONCD)更是发布报告,明确呼吁政府项目采用内存安全语言,Rust 被列为重点推荐选项——然而,性能始终是 Rust 难以回避的”软肋”。

众所周知,C 语言长期以来以极致性能著称,是众多系统级项目的首选。而 Rust 作为一门“安全性 + 性能”并重的新兴系统编程语言,近年来在 WebAssembly、嵌入式开发、区块链等场景快速崛起,但在极限性能层面是否能撼动 C 的地位,仍然是一个被持续讨论的问题。

因此,FFmpeg 此次对于 Prossimo 悬赏计划的质疑,本质上指向了一个更深层的问题:在构建关键基础设施时,内存安全是否足以成为牺牲部分性能的理由?

毕竟,这一问题在实时音视频处理领域尤为尖锐——直播平台对延迟的容忍度通常以毫秒计,解码器性能每下降 1% 都可能导致用户体验恶化。可另一方面,随着物联网设备激增,基于 C 语言的传统系统因安全漏洞导致的攻击事件也在逐年上升。

面对这个问题,目前更多技术决策者倾向于“折中主义”:在安全风险高、性能压力相对较小的场景优先采用 Rust,而在对效率极度敏感的传统领域维持 C/C++ 的主导地位。在此背景下,混合编程模式逐渐流行:项目可以用 Rust 实现安全敏感的业务逻辑,同时用 C/C++ 编写性能关键模块,通过 FFI(Foreign Function Interface)实现交互。

最后,除了“斥资 2 万美元,寻求让 Rust 实现与 C 语言同样性能的方法”这个做法本身的争议性,也有许多开发者对于 Prossimo 的悬赏规则提出不满:仅限定于特定地区开发者,排除了全球大部分开源社区成员——这被批评为“背离开源精神”。

有开发者在 Hacker News 评论称:

“当你用金钱激励性能优化时,却人为限制参与者范围,这本身说明 Rust 生态尚未成熟到能通过社区协作解决核心问题。”

参考链接:

https://www.memorysafety.org/blog/rav1d-perf-bounty/

https://news.itsfoss.com/ffmpeg-swipe-at-rust/

本文来自微信公众号“CSDN”,整理:郑丽媛,36氪经授权发布。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak
xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn