MTG / essentia

C++ library for audio and music analysis, description and synthesis, including Python bindings
http://essentia.upf.edu
GNU Affero General Public License v3.0
2.84k stars 530 forks source link

Inefficient/slower computation while using VectorInput python wrapper in the streaming mode #836

Open albincorreya opened 5 years ago

albincorreya commented 5 years ago

Just noticed that streaming mode gives much slower computation as compared to its standard mode alternatives while using the VectorInput algo in the python wrapper.

Did a small test comparing the computation times of the following functions (Spectrum, HPCP, KeyExtractor) using both standard and streaming python wrapper for an average of 10 runs.

'Spectrum' standard mode compute-time: 8.814s
'Spectrum' streaming mode compute-time: 107.856s
'HPCP' standard mode compute-time: 27.917s
'HPCP' streaming mode compute-time: 182.074s
'KeyExtractor' standard mode compute-time: 14.255s
'KeyExtractor' streaming mode compute-time: 229.168s
jamiebullock commented 1 year ago

@albincorreya Did you ever figure this out? I'm seeing a similar behaviour with C++ code using VectorInput. Our C++ is way slower than the Python equivalent, which uses EasyLoader