Rust製AV1デコーダーの性能最適化:不要なゼロクリアと構造体比較の最適化

2025-05-22
Rust製AV1デコーダーの性能最適化:不要なゼロクリアと構造体比較の最適化

Rustで記述されたAV1デコーダーrav1dとCで記述されたdav1dの性能を比較することで、サンプリングプロファイラーを用いて2つの性能ボトルネックを特定しました。1つ目は、ARMアーキテクチャにおけるrav1dでの不要なバッファのゼロクリアで、パフォーマンスの低下につながっていました。2つ目は、rav1dにおける構造体比較の実装の非効率性です。`MaybeUninit`を使用して不要なゼロクリアを回避し、構造体比較を最適化することで、rav1dのパフォーマンスを約2%向上させました。

開発