From 406731d84ebfded6ba4f9b11c81c9b2a270495e0 Mon Sep 17 00:00:00 2001 From: Jianshu_Zhao <38149286+jianshu93@users.noreply.github.com> Date: Mon, 8 Aug 2022 22:34:34 -0400 Subject: [PATCH] Add rust implementation A beautiful Rust implementation. I have run benchmarks for various dataset with very good performance and recall. More metric distance are supported including hamming, Hellinger distance, Jensen-Shannon distance between probability distributions (f32 and f64). There is A Trait to enable the user to implement its own distances. It takes as data slices of types T satisfying T:Serialize+Clone+Send+Sync. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9bcb6775..5ec6ebed 100644 --- a/README.md +++ b/README.md @@ -267,7 +267,7 @@ https://github.com/dbaranchuk/ivf-hnsw * Java bindings using Java Native Access: https://github.com/stepstone-tech/hnswlib-jna * .Net implementation: https://github.com/microsoft/HNSW.Net * CUDA implementation: https://github.com/js1010/cuhnsw - +* Rust implementation for memory and thread safety purposes and There is A Trait to enable the user to implement its own distances. It takes as data slices of types T satisfying T:Serialize+Clone+Send+Sync.: https://github.com/jean-pierreBoth/hnswlib-rs ### 200M SIFT test reproduction To download and extract the bigann dataset (from root directory):