~/docs/benchmarks
DOCUMENTATION
Overview
Performance benchmarks overview
Performance benchmarks for KiteDB across graph operations, vector search, and bindings. Latest run: February 3, 2026. Raw logs live in docs/benchmarks/results/.
Benchmark Categories
- Graph Benchmarks – Single-file raw results (Rust + Python bindings)
- Vector Benchmarks – Vector index performance (Rust)
- Cross-Language Benchmarks – Rust vs Python, plus TypeScript API overhead
Test Environment
- Apple M4, 16GB RAM
- macOS 15.3 (Darwin 25.3.0)
- Rust 1.88.0
- Node 24.12.0
- Bun 1.3.5
- Python 3.12.8
Highlights (p50)
Graph Operations
| Operation | Rust Core |
|---|---|
| Key lookup (random existing) | 125ns |
| 1-hop traversal (out) | 208ns |
| Edge exists (random) | 83ns |
| Batch write (100 nodes) | 45.62us |
View detailed graph benchmarks →
Vector Index
| Operation | Rust Core |
|---|---|
| Set vectors (10k) | 833ns |
| build_index() | 801.95ms |
| get (random) | 167ns |
| search (k=10, nProbe=10) | 557.54us |
View detailed vector benchmarks →
Bindings Snapshot (Single-File Raw, p50)
| Operation | Rust | Python |
|---|---|---|
| Key lookup (random existing) | 125ns | 208ns |
| 1-hop traversal (out) | 208ns | 375ns |
| Edge exists (random) | 83ns | 125ns |
| Batch write (100 nodes) | 45.62us | 253.08us |
View cross-language benchmarks →
Parallel Write Scaling (Single-File)
Writes don’t scale linearly with more writer threads. Commits must serialize WAL ordering and delta application (see commit_lock), so the best ingest pattern is usually: parallelize batch prep, funnel into 1 writer doing batched transactions.
Measured February 5, 2026 on local dev machine (10 CPUs). Full details and configs are in docs/BENCHMARKS.md.
Running Benchmarks
| Command | Description |
|---|---|
cargo run --release --example single_file_raw_bench --no-default-features | Rust single-file raw benchmark |
python3 benchmark_single_file_raw.py | Python single-file raw benchmark |
node --import @oxc-node/core/register benchmark/bench-fluent-vs-lowlevel.ts | TypeScript fluent vs low-level overhead |
cargo run --release --example vector_bench --no-default-features | Rust vector index benchmark |