-
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
Compare performance to faiss #100
Comments
It wasn't clear to me what an equivalent workflow would be for using faiss. I don't think the originally benchmarking code in the README was put into git so we might have to come up with an equivalent piece of code. |
This is how I have compared scipy:s cKDTree to Faiss previously:
This should be directly portable to pykdtree:s query() function. |
To be fair faiss has many other indices than L2, and faiss (and scipy?) are aimed at high dimensional data. It would be nice to have the comparison code checked into git, say in a docs or contrib folder. |
Yes, I'm all for putting the code in the repository. Can L2 handle any dimensionality? Pykdtree's README used 3D data. |
Yeah, faiss.IndexFlatL2 can handle any dimension. I think it's uncommon to use faiss for 2d and 3d data, much more common for > 100 dimensions (word embeddings etc). scipy.spatial.cKDTree can also handle multidimensional data, but I think it's more common to use it for spatial (2d, 3d) data, that's at least what I've been using it for. |
Yeah pykdtree is used heavily by the pyresample and satpy projects I maintain and they are entirely used for Earth geolocation (X, Y, Z). I don't think I'll have time to dedicate to running these comparisons and collecting the statistics for each variation so if someone else has time for this that'd be great. I think the That is of course only testing execution time. It'd be nice to have an estimate on memory usage too. |
Add https://github.com/facebookresearch/faiss to the performance comparison matrix
The text was updated successfully, but these errors were encountered: