Skip to content

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 26 Aug 02:40
· 2 commits to main since this release
5ee5f0e

vecq-core 0.1.1

First public release of vecq on crates.io. vecq is a training-free 4-bit vector quantization and search library written in pure Rust with zero dependencies, built for on-device and edge workloads where index size and build simplicity matter more than last-millisecond latency.

[dependencies]
vecq-core = "0.1.1"

Highlights

  • 4-bit quantization, no training - quantize float32 vectors to 4-bit codes with no calibration dataset, no training pass, no model artifacts. Add vectors, search, persist, load.
  • 6x smaller index - 514 bytes per 768-dim vector vs 3072 bytes for f32 (5.98x compression).
  • Zero dependencies - cargo add vecq-core pulls exactly one crate. No C++ toolchain, no transitive deps, compiles anywhere Rust does.
  • Deterministic results - bit-identical rankings across every ARM64 device (no FMA contraction, no platform-dependent reordering).
  • ARM64 NEON path - 4-vector batch scoring with bounded-heap top-k for flat, predictable scan latency.

Benchmark

768-dim EmbeddingGemma embeddings, 2000 index vectors, 100 queries, ARM64. Full methodology in docs/BENCHMARK.md.

Metric vecq f32 brute force usearch
Bytes per vector 514 3072 -
Compression 5.98x 1x -
Query latency 0.89 ms - 0.23 ms
Recall@10 0.958 1.000 0.995

What's Changed

Added

  • Release pipeline: push a vX.Y.Z tag on main to publish vecq-core to crates.io, verify the version via the crates.io API, and create the GitHub Release.

Full changelog: v0.1.0...v0.1.1

When to use vecq

Use it when the index lives on-device, dimensions are a few hundred to a thousand, the corpus is in the tens of thousands, and you value small files and simple builds. For server-side workloads at scale, use a full ANN index (Qdrant, usearch) and keep vecq for the edge.