opus icon indicating copy to clipboard operation
opus copied to clipboard

v1.3.1: Bad opus_multistream_encode() performance on MIPS

Open dddaniel opened this issue 6 years ago • 2 comments

This issue is only present on v1.3.1. Previous versions are not affected.

Tested with 5ms opus frames on an MIPS 74Kc V5.0 CPU. Encoding times for opus_multistream_encode(): v1.3: 2.5 - 3ms v1.3.1: 2.5 - 12ms

Let me know if you need anything to reproduce the issue.

dddaniel avatar Jun 28 '19 14:06 dddaniel

The extra time is coming from 'tonality_analysis':

mesaure: tonality_analysis 147 usec mesaure: tonality_analysis 41 usec mesaure: tonality_analysis 41 usec mesaure: tonality_analysis 7929 usec mesaure: tonality_analysis 42 usec mesaure: tonality_analysis 40 usec mesaure: tonality_analysis 41 usec mesaure: tonality_analysis 8028 usec mesaure: tonality_analysis 41 usec mesaure: tonality_analysis 41 usec mesaure: tonality_analysis 65 usec mesaure: tonality_analysis 8708 usec

Attached is a little patch that dose the mesasure opus-tonality-analysis-measure.patch.txt

dddaniel avatar Jun 30 '19 04:06 dddaniel

I don't have MIPS platform. My platform is Ubuntu 18.04 x86_64. I had apply your patch in v1.3 and v1.3.1. And sum all the time by following cmd

gawk '/^mesaure/ { sum+=$3 } END { print sum }' tests/test_opus_encode.log

The result is 1989905 usec in v1.3.1, while 2581987 usec in v1.3, contrary to your result. But I can't tell the reason. I am learning opus source code now. Maybe I can resolve it for some days. :)

willson-chen avatar Aug 21 '19 08:08 willson-chen