Hi guys,
I’m working on something performing FFT on multiple channels and I wish to increase the performance. It would be better to run multiple background threads or trying to optimize for SIMD (i.e. processing 4 channels at once)?
Thanks!
Hi guys,
I’m working on something performing FFT on multiple channels and I wish to increase the performance. It would be better to run multiple background threads or trying to optimize for SIMD (i.e. processing 4 channels at once)?
Thanks!
Hi @zioaxium, if you’re looking for FFT performance (what the juce::FFT class is not dedicated at, as it’s just a utility class), I advocate you look into one of the libraries that do it in an efficient way: Intel IPP, FFTW, kissFFT, FFTS, vDSP etc.
Thanks. I forgot to mention I’m currently using Ooura and the performance is quite good. it’s acceptable for a stereo pair, but since I have to perform it on multiple channels at once, hence the OP. I’m about to try IPP… I read its performance is outstanding.
Just in case you didn’t know, you can run 2 real channels using a single complex fft:
http://www.engineeringproductivitytools.com/stuff/T0001/PT10.HTM
Thanks Mayae, but the imaginary part of the complex number is the most important for my processing.