ruvector/benchmarks
Mathew Beane cc0ff4b31a
bench: compare ruvector-core HNSW with hnswlib on the same data (#1238)
sift1m-bench measures ruvector-core on TEXMEX fvecs/ivecs files, and the
sota-bench SOTA check divides by a fixed hnswlib QPS constant rather than
a measured one. This adds benchmarks/vector-search/hnswlib_compare.py:

- `gen` writes a seeded Gaussian dataset with exact L2 top-100 ground
  truth in the file layout sift1m-bench reads.
- `run` runs hnswlib and a numpy exact search on those files (or real
  SIFT1M) with the same M, ef_construction, ef sweep and k, and prints the
  same columns as sift1m-bench. hnswlib builds single-threaded by default,
  as sift1m-bench does. Each ef also reports a batched single-threaded
  QPS, which leaves out the per-call Python overhead.

Replaces the harness from #293, which ran hnswlib and ruvector-core on
different random datasets.

Co-authored-by: RuFlo <ruv@ruv.net>
2026-10-24 16:30:47 -04:00
..
docs docs: Reorganize documentation and add postgres README 2025-12-02 16:45:44 +00:00
graph feat(postgres): Add HNSW index and embedding functions support (#62) 2025-12-09 11:14:52 -05:00
src feat(postgres): Add HNSW index and embedding functions support (#62) 2025-12-09 11:14:52 -05:00
vector-search bench: compare ruvector-core HNSW with hnswlib on the same data (#1238) 2026-10-24 16:30:47 -04:00
.dockerignore Implement global streaming optimization for 500M concurrent streams 2025-11-20 18:51:26 +00:00
.gitignore Implement global streaming optimization for 500M concurrent streams 2025-11-20 18:51:26 +00:00
Dockerfile Implement global streaming optimization for 500M concurrent streams 2025-11-20 18:51:26 +00:00
package.json feat: Add Neo4j-compatible hypergraph database package (ruvector-graph) 2025-11-25 23:11:54 +00:00
setup.sh Implement global streaming optimization for 500M concurrent streams 2025-11-20 18:51:26 +00:00
visualization-dashboard.html Implement global streaming optimization for 500M concurrent streams 2025-11-20 18:51:26 +00:00