-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Benchmark against other libraries #1
Comments
@drom done |
Hey, this is a great implementation! Have you tested compared to the builtin FFT in web audio? Even though this would be bit unfair because it's not js, it would still be interesting to see if fft.js would be fast enough to use this for realtime audio. |
@faroit good idea! Just curious, how many bands do you actually use in web audio? fft.js can do 2k ops/sec on 16384 bands, which means that it will add less than 0.5ms of latency. On 4096 bands it is about 0.1ms of added latency. |
+@corbanbrook who worked on the Firefox Audio stuff with me and wrote dsp.js. He's done a lot of perf work on this stuff in the past, see also https://gist.github.com/corbanbrook/469c325734e458ba1415509f52d9c096 |
This gist is a part of our discussion with @corbanbrook with regards to fft.js performance and comparing it to dsp.js . After few improvements to benchmarks and the library code, I'm quite confident that current benchmarks are accurate and fft.js outperforms dsp.js on all of input sizes. |
Thank you for adding it to this discussion, though! |
https://github.com/Matt-Esch/browser-fft/blob/master/index.js an example using the browser "native" fft with a web audio hack |
@Matt-Esch this is cool, however it is rather non obvious how the latency can be measured with WebAudio. I suppose one can insert JS node before and after and calculate delta, but this is obviously not how this is going to be used. |
I guess this can be closed now. |
This library is most likely one of the fastest implementations of Cooley-Tukey FFT algorithm. It would be interesting to see how it compares to other JS implementations.
The text was updated successfully, but these errors were encountered: