Skip to content

Add vector search benchmarks to benchmarking suite#7399

Draft
connortsui20 wants to merge 2 commits intodevelopfrom
ct/vector-bench
Draft

Add vector search benchmarks to benchmarking suite#7399
connortsui20 wants to merge 2 commits intodevelopfrom
ct/vector-bench

Conversation

@connortsui20
Copy link
Copy Markdown
Contributor

Summary

Tracking issue: #7297

Adds a vector-search-bench crate similar to VectorDBBench.

The benchmark brute-forces cosine similarity search over public VectorDBBench datasets (Cohere, OpenAI, etc).

Since Vortex is not a database, we do not measure things like vector inserts and deletes. instead we just measure storage size and throughput for four targets:

  • Hand-rolled Rust baseline over &[f32]
  • Uncompressed (canonical) Vortex
  • Default compressed (which ends up being ALPrd)
  • TurboQuant (plus Recall@10 for the lossy TurboQuant path).

Every variant goes through a correctness check against the uncompressed scan before timing.

Not sure if this makes sense to have on a PR benchmark yet since this can only happen on a very specific array tree that will have a very specific optimized implementation.

Testing

N/A

@connortsui20 connortsui20 added the changelog/feature A new feature label Apr 11, 2026
@connortsui20 connortsui20 force-pushed the ct/vector-bench branch 5 times, most recently from 4362b28 to c37689c Compare April 13, 2026 15:06
@connortsui20 connortsui20 force-pushed the ct/vector-bench branch 3 times, most recently from 851ec23 to c06ba43 Compare April 14, 2026 17:28
@connortsui20 connortsui20 marked this pull request as ready for review April 14, 2026 17:30
@connortsui20 connortsui20 enabled auto-merge (squash) April 14, 2026 17:33
@connortsui20 connortsui20 disabled auto-merge April 14, 2026 17:33
connortsui20 added a commit that referenced this pull request Apr 14, 2026
)

## Summary

Tracking issue: #7297

Optimizes inner product with manual partial sum decomposition (because
the compiler can't optimize this because float addition is not
associative).

Also removes the old benchmarks as they no longer really time the
correct thing anymore. The real benchmarks will be finished here:
#7399. This change also adds
the `vortex-tensor/src/vector_search.rs` file to support that soon.

## Testing

N/A

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
connortsui20 and others added 2 commits April 14, 2026 16:33
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20 connortsui20 marked this pull request as draft April 14, 2026 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant