整理 | 鄭麗媛
出品 | 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 生態尚未成熟到能通過社區協作解決核心問題。”
https://www.memorysafety.org/blog/rav1d-perf-bounty/
https://news.itsfoss.com/ffmpeg-swipe-at-rust/
2025 全球產品經理大會
2025 年 8 月 15–16 日
北京·威斯汀酒店
2025 全球產品經理大會將匯聚互聯網大廠、AI 創業公司、ToB/ToC 實戰一線的產品人,圍繞產品設計、用戶體驗、增長運營、智能落地等核心議題,展開 12 大專題分享,洞察趨勢、拆解路徑、對話未來。
更多詳情與報名,請掃碼下方二維碼。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.