Rust 기반 AV1 디코더 성능 최적화: 불필요한 0 초기화 및 구조체 비교 최적화

2025-05-22
Rust 기반 AV1 디코더 성능 최적화: 불필요한 0 초기화 및 구조체 비교 최적화

Rust 기반 AV1 디코더인 rav1d와 C 기반 AV1 디코더인 dav1d의 성능을 비교하여 샘플링 프로파일러를 사용하여 두 가지 성능 병목 현상을 발견했습니다. 첫 번째는 ARM 아키텍처에서 rav1d의 불필요한 버퍼 0 초기화로 인한 성능 저하였습니다. 두 번째는 rav1d의 구조체 비교 구현의 비효율성이었습니다. `MaybeUninit`을 사용하여 불필요한 0 초기화를 피하고 구조체 비교를 최적화함으로써 rav1d의 성능을 거의 2% 향상시켰습니다.

개발