How to calculate SNR variation with period?
The FFT is equivalent to a bank of FIR band pass filters, in python you can compute the fft using numpy.fft.fft, and the central normalized (with respect to sampling rate) frequency of each filter is obtained with numpy.fft.fftfreq
For real signals you can use numpy.fft.rfft and numpy.fft.rfftfreq
If you want implementation guidance in stack overflow, give more details about the what you did, share some piece of code. You could share you slow running example and someone would help you to get it fast.