Prossimo, an Internet Security Research Group (ISRG) project, is offering a $20,000 performance bounty to help get the Rust AVI decoder’s performance on par with the C-based version.
The ISRG is a non-profit focused on internet security, with its Prossimo project specifically focused on moving “the Internet’s security-sensitive software infrastructure to memory safe code.” AVI is a video codec that has gained popularity for being a high-quality, open, and royalty-free alternative to proprietary codecs.
Listen to our chat about Prossimo’s $20,000 bounty:
Prossimo has been working to rewrite AVI in Rust, instead of its original C. The only problem is that the new version is slower than the original, by roughly 5%. While that may not seem like a large margin, 5% can be a significant amount when dealing with video encoding.
Prossimo’s Josh Aas described the problem.
Our Rust-based rav1d decoder is currently about 5% slower than the C-based dav1d decoder (the exact amount differs a bit depending on the benchmark, input, and platform). This is enough of a difference to be a problem for potential adopters, and, frankly, it just bothers us. The development team worked hard to get it to performance parity. We brought in a couple of other contractors who have experience with optimizing things like this. We wrote about the optimization work we did. However, we were still unable to get to performance parity and, to be frank again, we aren’t really sure what to do next.
After failing to solve the issue on their own, Prossimo had the idea to offer a performance bounty, enlisting the larger community of developers to assist.
After racking our brains for options, we decided to offer a bounty pool of $20,000 for getting rav1d to performance parity with dav1d. Hopefully folks out there can help get rav1d performance advanced to where it needs to be, and ideally we and the Rust community will also learn something about how Rust performance stacks up against C.
Countless programs are currently being rewritten in Rust, thanks to the memory safety it provides. Even the NSA is recommending companies and organizations use memory safe languages like Rust, in an effort to cut down on security issues.
If Prossimo’s plan is successful, moving AVI to Rust will be a major win for internet security.