[Speex-dev] Performance and Optimization

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Mon Jun 15 05:28:30 PDT 2009

Are you using an insanely long tail length by any chance (CPU is
proportional to that)?


Greger Burman a écrit :
> I have a question about the overall performance of Speex and what I can
> do to improve it. I'm running Speex Windows x86, Visual C++ EE compiler.
> I will say right away that I've only compiled debug so far and used no
> compiler optimizations at all. 
> I use the uwb-mode, preprocessing, denoising and echo cancellation.
> I've noticed that speex consumes a lot of cpu resources. When I run this
> on a Celeron 2,6GHz I have to disable EC in order to not overload the
> cpu. Am I correct to assume that there are massive floating point
> calculations happening?
> I did a quick profile with CodeAnalyst and identified the most expensive
> functions as (in order):
> CPU Clocks, Function
> 4657, kiss_fft_stride
> 4456, speex_echo_cancellation
> 2494, split_cb_search_shape_sign
> 1490, fir_mem16
> 1419, speex_preprocess_run
> I'm looking for advise on how to boost the performance with as little
> code rewrite as possible. The architecture for release build will be
> SSE/SSE2 capable.
> 1) Compiler optimizations: Recommended options? 
> 2) SIMD. Is Speex written to take advantage of SIMD architectures? What
> must I do to take advantage of this?
> -- 
> Greger Burman
> ------------------------------------------------------------------------
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev

More information about the Speex-dev mailing list