-
Notifications
You must be signed in to change notification settings - Fork 256
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
biquad filter appears to be slow #73
Comments
Could you check performance with latest clang? It's recommended compiler for KFR, all performance measurements published here are made using clang. GCC/MSVC performance is improving but can be worse compared to clang. Could you also publish your results? What sizes did you check? |
I can confirm GCC is showing poor performance for the posted
|
I've tried buffer sizes of about 96,000 samples, but once the buffer is over a few thousand samples it makes little difference in run time. Comparing clang 9.0.0 vs gcc 9.2.1 on an i7-7700K and a Ryzen 3700X. I used
|
I ported some code to use kfr::biquad_filter and it ended up slower. To try to find out if it was something else causing this, I wrote a simple test program that benchmarks kfr::biquad_filter vs the simplest plain C implementation I thought of. Benchmarking with both gcc 8.3.1 and gcc 9.2.1 on a Ryzen Zen 2 and Intel Kaby Lake, the KFR code is about 75% to 50% the speed of the plain C.
Test program attached:
kfrtest.cpp.txt
The text was updated successfully, but these errors were encountered: