$20K Bounty Offered for Optimizing Rust Code in Rav1d AV1 Decoder
标题:悬赏 2 万美元:优化 Rav1d AV1 解码器中的 Rust 代码
 Support this Work
悬赏 20,000 美元:优化 rav1d AV1 解码器的性能
Josh Aas,2025 年 5 月 14 日
我们在 2023 年 3 月宣布 开始研发一个更安全、高性能的 AV1 解码器,名为 rav1d,并使用 Rust 编写。我们与 Immunant 合作进行工程开发。到 2024 年 9 月,rav1d 基本完成,在此过程中我们学到了很多。如今,rav1d 运行良好——它通过了所有与基于 C 语言的 dav1d 解码器相同的测试。可以用它来构建和运行 Chromium。
但只有一个问题——它的速度不如 C 语言版本。我们想改变这一点,我们需要您的帮助。
我们基于 Rust 的 rav1d 解码器目前比基于 C 的 dav1d 解码器慢大约 5%(具体数值因基准测试、输入和平台而略有不同)。这种差异足以成为潜在采用者的问题,坦率地说,它也让我们感到困扰。开发团队努力使其达到与 C 语言版本相同的性能水平。我们还引入了一些在优化方面有经验的承包商。我们撰写了关于我们所做的优化工作。但是,我们仍然无法达到相同的性能水平,而且坦率地说,我们不太确定下一步该怎么做。
在绞尽脑汁寻找方案之后,我们决定提供 20,000 美元的赏金池,以使 rav1d 的性能与 dav1d 达到相同的水平。希望大家能帮助 rav1d 提升到所需的性能水平,理想情况下,我们和 Rust 社区也能了解 Rust 性能与 C 相比如何。
官方规则在此,但总结如下:
- 竞赛面向居住或公民身份为美国、英国、欧盟、加拿大、新西兰或澳大利亚的个人或团队。
- 规则提供了用于基准测试性能改进的说明。
- 您可以致力于提高性能。您的改进可以在 rav1d、Rust 编译器或 Rust 标准库中进行。
- dav1d 和 rav1d 解码器共享完全相同的底层汇编代码优化——您不能修改此汇编代码。您必须改进 Rust 代码(或 Rust 编译器),这是 dav1d 和 rav1d 之间的区别所在。您不得将除 Rust 之外的其他语言的代码引入 rav1d。我们鼓励您尽早通过 issue 或发送电子邮件的方式提出问题,以避免在可能不符合条件的项目上投入大量资金!
- 根据项目的标准贡献流程以及其开源许可协议,将您的性能改进合并到相关项目中,然后按照官方规则中的说明通过电子邮件发送给我们,以参与并可能因您的贡献获得奖励。
- 当竞赛结束时(很可能是因为我们达到了目标或时间耗尽),我们将酌情在对性能提升做出最大贡献的人员之间按比例分配赏金。
最终,我们保留将这笔钱奖励给我们认为以最佳方式帮助我们达到或超过性能对等的人员或团队的权利。
如果我们更新规则,我们会在本文和官方规则页面上发布说明。
祝你好运!玩得开心!
 548 Market St, PMB 77519San Francisco, California 94104-5401 Send all mail or inquiries to: PO Box 18666, Minneapolis, MN 55418-0666, USA
Resources
Social
Read all about our nonprofit work this year in our 2024 Annual Report.