At 06:47 PM 12/23/2014, you wrote:
The performance of fftpack depends very strongly on the array size -- sizes that are powers of two are good, but also powers of three, five and seven, or numbers whose only prime factors are from (2,3,5,7). For problems that can use padding, rounding up the size (using np.fft.fft(x, n=size_with_padding)) to one of these multiples makes a big difference.

Checking some of my old code, we had typically done:
    N2 = 2**int(math.ceil(math.log(N,2)))
and then something like
abs(rfft(data[minX:maxX, ch]*weightingArray, N2))[1:numpy.floor(N2/2)+1] * norm_factor

In the PDF linked, I can see where N % 3,5,7 could really help; we just don't do giant FFTs (>2**22) often. However, users would often see loooong waits if/when they selected prime N on a data plot and asked for the full FFT without padding enabled - like ~5 seconds on a Core 2.

When released we'll certainly use the new functionality.

- Ray 
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to