Fast Fourier transform in x86 assembly
Author here. I am embarrassed and surprised to find this article on the front page of HN. I think it isn&#x27;t well-written, and I never intended it to appeal to a wide audience.<p>The only fact this article really proves is that I can write an x86 AVX implementation of FFT, such that it has reasonable performance and reasonably readable code.<p>I threw together the C code quickly - the portable version is basically the result of &quot;what if I implement FFT in a relatively naive way?&quot;, and the AVX model version is the result of &quot;what if I simulate the computation order and memory access pattern of the AVX code in pure C?&quot;. You wouldn&#x27;t be wrong to say that I created strawmen C code as comparisons to the AVX code.<p>I view the article as a non-thorough wrapper around a proof-of-concept AVX code. I failed on a lot of fronts - comparing performance against well-known high-performance libraries like FFTW, explaining why I designed my AVX code the way it is, elaborating on the memory access patterns, et cetera. For these I apologize to the reader who had their hopes up.