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

360影视 动漫周边 2025-05-26 19:41 4

摘要:近日,Prossimo 公司为其 AV1 解码器 rav1d 发起了一则“性能悬赏计划”。简单来说,就是他们用 Rust 编写的 AV1 解码器 rav1d,性能不如用 C 语言编写的 dav1d 解码器,为此Prossimo设立了 2 万美元(约合人民币 1

整理 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

近日,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 生态尚未成熟到能通过社区协作解决核心问题。”

参考链接:

📢 2025 全球产品经理大会

2025 年 8 月 15–16 日

北京·威斯汀酒店

2025 全球产品经理大会将汇聚互联网大厂、AI 创业公司、ToB/ToC 实战一线的产品人,围绕产品设计、用户体验、增长运营、智能落地等核心议题,展开 12 大专题分享,洞察趋势、拆解路径、对话未来。

来源:CSDN一点号

相关推荐