Speed up time stretching ~3x on Linux with FFTW3. (#349)
* Add FFTW3 for faster time stretching. * Fix build on Ubuntu. * Lint. * Add FMA4 support. * Target Broadwell CPUs instead of just fma4. * Add FMA4 support again. * Enable optional AVX512 instructions. * Add missing swizzle enum definitions. * Don't built KCVI extensions with GCC or Clang. * Add missing declares. * Remove duplicate assert.c. * Properly ignore assert.c on ARM. * Disable AVX512. * Don't compile any avx512 files. * No more of these FMA4 instructions, please. * Nope, no AVX_128_FMA either. * No -mavx maybe? * -march=native * Tell RubberBand that we're using threads. * Tell RubberBand that we're already configured. * Silly; -DNO_THREADING=0 doesn't work, you need to not define NO_THREADING. * Use Pthreads. * Use PThreads, but correctly this time. * Wrap RubberBandStretcher constructor with a mutex. * It's... memalign? * Also disable generic SIMD. * Fix Windows build. * Closer... * So close, come on MSVC, you can do it! * Use built-in FFT on Windows. * Disable pthreads on Windows. * Just use AVX; it's all we need!
P
Peter Sobot committed
60404dd9fcace9e9ed062d5b117a15f2cc2cbb8d
Parent: f29daa9
Committed by GitHub <noreply@github.com>
on 7/2/2024, 1:51:21 PM