vDSP FFT by Apple outperformed by Superpowered FFT for iOS
The Fast Fourier Transform or FFT is a common algorithm in digital signal processing used to change between the time and the frequency domains.
The time domain graph demonstrates how a signal changes over time, while the frequency domain graph shows how much of the signal is within each given frequency band over a range of frequencies.
Given its importance, the FFT processing speed is commonly used as proxy for the quality of the library it is packaged with. We benchmarked Superpowered FFT for iOS against Apple vDSP FFT (measured on iPhone 5, Apple A6 CPU).
Who is the fastest? Apple vDSP FFT or Superpowered?
We chose Apple vDSP FFT because according to publicly available information, the Apple vDSP library was the fastest FFT on mobile devices.
As the data below demonstrate, Superpowered matches the speed of vDSP FFT, and even more compellingly, outperforms it roughly 2x for polar FFT across the board.
The actual output of the FFT benchmarking is available for download here: Apple-vDSP-FFT-vs-Superpowered-FFT-iOS.txt
Superpowered FFTs
All Superpowered functions are calculated as floating point, currently (Q2 2014) available Superpowered iOS and Android FFT functions are:
- Complex, real and real-polar (works with magnitudes and phases).
- In-place (out-of-place soon).
- Real sizes: 32 to 8192. Complex sizes: 16 to 4096. Power of 2 only.
- vDSP
- Fast Fourier Transform
- FFT
- Fastest FFT
- iOS FFT