Der Rust-basierte AV1-Videodecoder rav1d soll in puncto Geschwindigkeit mit seinem C-basierten Gegenstück dav1d gleichziehen. Dafür haben die Entwickler ein Kopfgeld von 20.000 US-Dollar ausgesetzt.
Das Projekt rav1d startete im März 2023 mit dem Ziel, einen hochperformanten AV1-Decoder zu entwickeln, der gleichzeitig die Speichersicherheit von Rust nutzt. Die Entwicklung wurde in Zusammenarbeit mit Immunant durchgeführt.
Im September 2024 erreichte rav1d einen wichtigen Meilenstein und wurde als „im Wesentlichen vollständig“ bezeichnet. Der Decoder besteht die gleichen Tests wie dav1d und ist kompatibel mit Chromium. Einziger Haken: Die Geschwindigkeit erreicht noch nicht ganz die des C-basierten Vorbilds.
Die Leistung von rav1d liegt etwa 5% unter der von dav1d. Obwohl dieser Unterschied gering erscheint, stellt er für potenzielle Anwender ein Problem dar. Das rav1d-Team bezeichnet die Geschwindigkeitsdifferenz als „störend“.
Das Kernteam von rav1d und externe Spezialisten haben bereits umfangreiche Optimierungen vorgenommen und ihre Erfahrungen dokumentiert. Die vollständige Leistungsgleichheit blieb jedoch bisher außer Reichweite.
Das Team räumt ein: „Wir konnten die Leistungsgleichheit noch nicht erreichen und wissen ehrlich gesagt nicht so recht, wie es weitergehen soll.“
Der Geschwindigkeitsvergleich zwischen Rust und C ist ein viel diskutiertes Thema. Rust kann in vielen Bereichen mit der Geschwindigkeit von C mithalten. Sicherheitsfunktionen wie die Überprüfung von Array-Grenzen verursachen jedoch einen gewissen Overhead, insbesondere bei rechenintensiven Aufgaben wie der Videodekodierung.
Laufende Optimierungen verringern diese Lücke stetig. Dies deutet darauf hin, dass Rust mit entsprechendem Aufwand das Leistungspotential von C erreichen könnte. Das ausgesetzte Kopfgeld ist somit eine Herausforderung an die Rust-Community.
Die Entwickler von FFmpeg, das in C geschrieben ist, kommentierten die Situation mit einem Augenzwinkern: „Rust ist so gut, dass man 20.000 Dollar dafür bekommt, es so schnell wie C zu machen.“
Mit dem Kopfgeld von 20.000 US-Dollar sollen neue Ideen und Expertise gewonnen werden, um rav1d auf das gleiche Geschwindigkeitsniveau wie dav1d zu bringen. Darüber hinaus erhoffen sich die Entwickler Erkenntnisse darüber, wie sich die Leistung von Rust im Vergleich zu C verhält.
Nach Abschluss des Projekts, entweder durch Erreichen des Leistungsziels oder Ablauf der Frist, wird das Kopfgeld nach Ermessen der Entwickler proportional zu den erzielten Leistungssteigerungen auf die wichtigsten Beitragenden verteilt.
Die Entwickler behalten sich das Recht vor, das Geld an die Person(en) oder das Team/die Teams zu vergeben, die ihrer Meinung nach am besten dazu beigetragen haben, die Leistungsgleichheit zu erreichen oder zu übertreffen. Es geht also nicht nur um die größte, sondern um die beste Leistungssteigerung.
Das Kopfgeld ist mehr als nur ein Preisgeld. Es ist ein Aufruf an die Rust-Community, zu zeigen, dass Rust in den performancekritischen Bereichen, die lange Zeit von C dominiert wurden, konkurrenzfähig ist.
Bibliographie: https://news.ycombinator.com/item?id=43982238 https://x.com/Gadget_Ry/status/1924498609887760606 https://www.facebook.com/SlashdotMedia/posts/rust-is-so-good-you-can-get-paid-20k-to-make-it-as-fast-as-cthe-prossimo-project/714954674392349/ https://www.developer-tech.com/news/ https://news.ycombinator.com/item?id=43983485 https://www.developer-tech.com/ https://hachyderm.io/@dbrckmn https://mast.hpc.social/@AlanSill https://www.cloudcomputing-news.net/cloud-tech-news/