Убедитесь, что вы генерируете оптимальный план для FFTW для каждого теста.Флаги PATIENT и EXHAUSTIVE могут привести к более быстрым планам, но для их достижения может потребоваться значительное количество времени.(Очевидно, что вы не должны включать это время в свой эталонный тайминг, так как оно одноразовое и кэшируемое.)
Если вам нужны только данные ввода / вывода с одинарной точностью, то создайте версию библиотек FFTW с одинарной точностью - они могутбыть немного быстрее, чем версия с двойной точностью по умолчанию и достаточно точна для большинства приложений, например, для обработки сигналов и обработки изображений.
Также при сборке библиотек FFTW убедитесь, что вы включили SIMD, если это соответствует вашей архитектуре,например, SSE на x86 или AltiVec на PowerPC.