VectorVault v0.1.0 is the first stable release of our high-performance HNSW-based vector search engine. Built from scratch in modern C++20 with SIMD optimizations and a clean REST API.
- HNSW Graph Index - Hierarchical Navigable Small World for O(log N) search
- AVX2 SIMD Acceleration - 8 floats per instruction for distance computation
- Thread-Safe Operations - Lock-free reads with shared_mutex
- Memory-Mapped I/O - Zero-copy persistence with CRC32 validation
POST /add- Add vectors to indexPOST /query- K-nearest neighbor search with configurable efPOST /save- Persist index to diskPOST /load- Load index from diskGET /stats- Index statistics with compiler infoGET /health- Server health check
- Deterministic Save/Load - Guaranteed top-k result parity (see tests)
- Cross-Platform - Linux and Windows support via CI/CD
- Docker Ready - Multi-stage builds with health checks
- Comprehensive Tests - Unit tests, integration tests, sanitizers
| efSearch | P50 Latency | P95 Latency | QPS | Recall@10 | vs Brute Force |
|---|---|---|---|---|---|
| 10 | 0.18ms | 0.32ms | ~5,500 | 87.3% | 45x faster |
| 50 | 0.42ms | 0.78ms | ~2,400 | 96.8% | 19x faster |
| 100 | 0.71ms | 1.24ms | ~1,400 | 99.2% | 11x faster |
Key Insight: ef=50 achieves 97% recall with 19x speedup - ideal for production workloads.
New official Python client in clients/python/:
from vectorvault_client import VectorVaultClient
import numpy as np
client = VectorVaultClient(host="localhost", port=8080)
client.add(id=1, vec=np.random.randn(384).tolist())
results = client.search(vec=query, k=10, ef=50)Install with: pip install -r clients/python/requirements.txt
- 185 unit tests across distance, HNSW, persistence, API
- Deterministic persistence test - verifies save/load parity
- CI/CD on GitHub Actions - Ubuntu + Windows matrix builds
- Address/UBSan - Memory safety validation
- Clang-format + clang-tidy - Code quality enforcement
Release binaries available for:
vectorvault_api(Linux x64, Windows x64)vectorvault_bench(Linux x64, Windows x64)
Docker image:
docker pull vectorvault:0.1.0
docker run -p 8080:8080 -v $(pwd)/data:/data vectorvault:0.1.0 --dim 384git clone https://github.com/Sant0-9/VectorVault.git
cd VectorVault
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
./build/vectorvault_api --port 8080 --dim 384Requirements:
- CMake 3.22+
- C++20 compiler (GCC 10+, Clang 12+, MSVC 2019+)
- AVX2 CPU (optional but recommended)
- README.md - Comprehensive usage guide
- QUICKSTART.md - Get started in 5 minutes
- CONTRIBUTING.md - Developer guidelines
- clients/python/README.md - Python client docs
Built with inspiration from:
- FAISS (Meta AI) - Vector search foundations
- hnswlib (NMSLib) - HNSW algorithm reference
- HNSW Paper (Malkov & Yashunin, 2018)
Planned for v0.2.0:
- Batch insert API
- Filtered search (metadata support)
- Incremental index updates
- GPU acceleration (CUDA)
- Quantization (PQ, SQ)
License: MIT
Author: Sant0-9
Repository: https://github.com/Sant0-9/VectorVault
For issues and feature requests, please visit our GitHub Issues page.