Today, I released RustFFT 5.0.0-experimental.1!
RustFFT is a high-performance FFT library written in pure Rust. Version 5.0.0-experimental.1
implements AVX acceleration and is 5x-10x faster than RustFFT 4.0.0 at every FFT size.
More notably, with this release, RustFFT beats FFTW in performance, one of the industry-leading FFT libraries! To make the comparison, I used the Fourier crate's very useful benchmarks, which compare the performance of RustFFT, Fourier, and FFTW. I found that, at every single size I tested, RustFFT was either equivalent in speed to FFTW, or faster.
With this release, Rust users no longer have to choose between the convenience of a pure-Rust FFT library and the speed of FFTW: RustFFT brings both!
RustFFT 5.0.0-experimental.1 is marked as an experimental release, because it currently requires nightly for the min_specialization
feature. Once I can get it compiling on stable Rust, it will become RustFFT 5.0.
I'm also considering other SIMD instruction sets. RustFFT currently only supports AVX -- I'm open to supporting instruction sets for other targets like NEON or AVX-512 or even a future library like std::simd, but Rust's support for those is currently nightly-only and incomplete. They're also predicated on me finding a machine to benchmark on, so overall I'd prefer not to hold back the AVX release on those.