¿Por qué FFTW en Windows es más rápido que en Linux?
Escribí dos programas idénticos en Linux y Windows usando las bibliotecas fftw fftw3.a
, fftw3.lib
), y calcule la duración de lafftwf_execute(m_wfpFFTplan)
declaración (16 pies).
Para 10000 carreras:
En Linux: el tiempo promedio es 0.9 En Windows: el tiempo promedio es 0.12Estoy confundido acerca de por qué esto es nueve veces más rápido en Windows que en Linux.
Procesador: Intel (R) Core (TM) i7 CPU 870 @ 2.93GHz
Cada sistema operativo (Windows XP 32 bit y Linux OpenSUSE 11.4 32 bit) se instalan en las mismas máquinas.
Descargué el fftw.lib (para Windows) de internet y no conozco esas configuraciones. Una vez que construyo FFTW con esta configuración:
/configure --enable-float --enable-threads --with-combined-threads --disable-fortran --with-slow-timer --enable-sse --enable-sse2 --enable-avx
en Linux y da como resultado una lib que es cuatro veces más rápida que las configuraciones predeterminadas (0.4 ms).