-
Notifications
You must be signed in to change notification settings - Fork 46
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
Updated benchmarks against scipy.spatial.cKDTree
#121
Comments
Yes, benchmarks should definitely be rerun. CPUs have definitely changed and scipy has probably seen many rounds of optimizations to their implementation since the original benchmarks. There are also alternatives that use CUDA or other GPU methods that have popped up since then. We in the PyTroll community use pykdtree for our nearest neighbor resampling of geolocated atmospheric satellite data. Related: #100 for another project and #92 for my brainstorming on a rewrite for kdtree to be faster for CPU caches. |
Just as a reference, benchmarks here show that pykdtree is still the fastest. And my own benchmarks show that its single-threaded performance is ~3 times better than scipy cKDTree with 32 threads. |
https://colab.research.google.com/drive/1tRE3fXE7wIFnvw91UzwCHeo9DglFAGx7?usp=sharing I made some benchmarks on google colab, it seems very clear the pykdtree is the fastest for build (by far) compared to sklearn + scipy. But for query it seems slower on the Colab machine It's a pretty heavy query. But its similar to my usecase.
|
We're deciding whether to keep
pykdtree
as a dependency, or rely onscipy.spatial.cKDTree
.Do you have access to updated benchmarks (or can otherwise provide some insight into the usecase of
pykdtree
overscipy
's implementation?). The ones in the readme look to be 12 years old.The text was updated successfully, but these errors were encountered: