decoding supisciously slow on Snapdragon octo-core
- Dominant language
- C++
- Stars
- 4k
- Forks
- 368
- PR merge metrics
- No merged PRs in 30d
Description
Dear android team, thanks for contributing this codec open source
I have benchmarked it on an 1.8Ghz octo-core Snapdragon SDM 450 phone running android 11 and i am very surprised by the difference in performance compared to the benchmark values you are providing for a pixel 4 phone.
This is for a fixed point implementation.
09-20 16:20:41.991 3477 3513 I test : conditioning_only stats for generating 2000 frames of audio, max: 1063 us, min: 816 us, mean: 840 us, stdev: 26.4008.
09-20 16:20:41.991 3477 3513 I test : model_only stats for generating 2000 frames of audio, max: 33525 us, min: 28257 us, mean: 29113 us, stdev: 270.771.
09-20 16:20:41.992 3477 3513 I test : combined_model_and_conditioning stats for generating 2000 frames of audio, max: 34421 us, min: 29105 us, mean: 29953 us, stdev: 270.185.
for a floating point implementation i get:
09-20 17:16:58.356 4829 4966 I test : conditioning_only stats for generating 2000 frames of audio, max: 3619 us, min: 1267 us, mean: 1329 us, stdev: 86.6372.
09-20 17:16:58.356 4829 4966 I test : model_only stats for generating 2000 frames of audio, max: 61199 us, min: 51126 us, mean: 52220 us, stdev: 501.567.
09-20 17:16:58.356 4829 4966 I test : combined_model_and_conditioning stats for generating 2000 frames of audio, max: 62540 us, min: 52488 us, mean: 53549 us, stdev: 519.02.
So basically the decoder runs just slighly faster than real time in fixed point (30msec decode for 40msec audio) and much slower in floating point. Your pixel phone averaged at <10msec float point for the same job so 5x faster.
I cannot see that there is such a hardware performance difference between my phone and a pixel 4.
From your experience , where should i be looking first ? Are there any compile option i should be carefull about ?
Apart from that I have tested the codec sound quality in many different scenarios and i find it very good , specifically in **noisy environment** where it outperforms what i have tried so far. If i can get the speed issue fixed i am planning to further test its robustness to typical radio link packet loss patterns.
Any hint is appreciated. Thanks !
Contributor guide
Assessment
This issue has not been assessed yet.