KFR 7.1 has been released introducing a new FFT implementation
18 August 2026
KFR 7.1 brings a major FFT performance boost. Power-of-two sizes are up to 40% faster, and sizes with many prime factors now use a more optimized algorithm. The release also adds a low-overhead FFT API, new audio filtering and decoding features, and GCC and MSVC support for DFT.
FFT performance
The main change in KFR 7.1 is the FFT. Power-of-two sizes are up to 40% faster. Sizes with many prime factors get a further speedup from switching to a more optimized algorithm.
The charts show real forward in-place FFT results for AVX2 (float) and NEON (double). The full set of results is on the benchmark page.
FFT API and DFT support
ngfft: new low-overhead FFT API with manual memory management- GCC and MSVC support for DFT
- MSVC: DFT compilation options are handled correctly
Audio module
audio_filterapplies independent multi-channel FIR, IIR and convolution filtering to planaraudio_data- Core Audio decoder for macOS and iOS, with
binary_readerinput, floating-point output and precise frame seeking - New
audio_datamembers:apply_gain_dB,normalize,clamp,to_mono,to_interleaved,to_planar,select_channel,select_channelsandclone
DSP and expressions
filter::apply_zerosfunctionreset()support for stateful DSP expressionsoperator==forportable_vecexpression_reducenow accepts parameters by valueKFR_BASETYPE_F32CMake option for 32-bitfbase
Upgrading
KFR 7.1 contains one breaking change:
uitypenow converts only from float to unsigned integer
Other changes
- Bit-index permutation optimizations for Clang and the generic backend
- Code documentation now has near 100% Doxygen-style coverage
- Major documentation update with dozens of new articles and automatically tested code examples
- Automatic snippet testing via cxxdox, and cxxdox updated to 0.2.1
- Python plotting functionality refactored
Fixes
- Generic backend fixes, including NaN handling
sample_rate_converterfixes, with new tests- Unaligned integer access avoided in SIMD operations
- Signed/unsigned shift fixes
arange,isnegative,cartesianandexpression_concatenatefixesaudio_datainterleaved constructor fix
See the changelog for the complete list, and the documentation for the updated guides.