7种FFT快速算法评测

整理自一位FFT专家(csdn ID: liangbch)的帖子,原帖链接:http://bbs.csdn.net/topics/80425676

  7种FFT算法如下:
  1. galois_godel()给出的程序
  2. http://community.csdn.net/Expert/topic/4570/4570436.xml?temp=.4977686 中的程序
  3. 朱志刚的FFT程序。
  4. liangbch写的程序1
  5. liangbch写的程序2
  6. mixfft,来自http://hjem.get2net.dk/jjn/fft.htm
  7. mixfft,来自http://hjem.get2net.dk/jjn/fft.htm

  评测结果如下:

7种FFT快速算法评测_第1张图片

说明:
   1. 硬件:迅驰 1.7G, 256MB 主存,2MB L2 cache
   2. VC++ 6.0 + intel c++ complier 8.1, release(O2)方式编译
   3. zhu fft :指朱志刚的FFT, galois fft 指楼上galois_godel()的程序 ,4570436.xml 指http://community.csdn.net/Expert/topic/4570/4570436.xml?temp=.4977686中的那个程序, liangbch_f(ft1指liangbch写的第一个fft程序,liangbch_fft2指liangbch写的第2个fft程序,ooura 指 http://momonga.t.u-tokyo.ac.jp/~ooura/fft.html 中的fftsg_h.c, mixfft 指http://hjem.get2net.dk/jjn/fft.htm 中的mixfft.c.
   
   4. 为了测试结果更加公正,对某些程序作了修改:
      (1) 将朱志刚的FFT程序 COMPLEX 类型中的re,im由float改为double
      (2) galois 写的程序中的内存分配移动FFT 函数外,不计入运行时间.
     (3) 朱志刚的程序在每次调用时fft前需首先调用root生成omega数组,这部分时间在总变换时间中只占很少的比重,上述的表格中的计算时间不包括生成omega数组的时间.

以上七种代码及其测试程序可以从这里下载:http://download.csdn.net/download/liangbch/2025284

Ooura FFT这个版本号称最快的FFT,一直没有机会亲自测一下,不过今天总算是看到一份全面的测试数据了。WebRTC用的应该就是Ooura FFT。

你可能感兴趣的:(7种FFT快速算法评测)