// BENCHMARKS
Real numbers. Real hardware.
Every number on this page was measured on real hardware with --release builds. Random-vector benchmarks are not reported. Commands to reproduce every result are shown inline.
Hardware: AWS c6id.4xlarge·Intel Xeon Platinum 8375C, 16 vCPU, 32 GiB RAM, 884 GB NVMe·Ubuntu 24.04, io_uring backend
HNSW Vector Search -- SIFT-1M
Dataset: SIFT-1M -- 1,000,000 x 128-dim float32 vectors, 10,000 queries, pre-computed ground truth. Source: ftp://ftp.irisa.fr/local/texmex/corpus/sift.tar.gz
SHA256: 92f1270c5e3a0cb46b89983e72b0511e4df065c31a9fa0276d8c9b1fca5bc81a
Build: M=16, ef_construction=200 -- 66.2s (15,114 vec/sec)
| ef_search | recall@10 | mean latency | p99 latency |
|---|---|---|---|
| 10 | 0.762 | 57.6 µs | 101 µs |
| 50 | 0.959 | 158.1 µs | 228 µs |
| 100 | 0.983 | 266.5 µs | 364 µs |
| 200 | 0.990 | 459.4 µs | 616 µs |
# Reproduce
cargo run --release -p galaxdb-benchmarks -- \
--sift-dir /path/to/sift \
--ef-sweep 10,50,100,200 \
--output bench-results/sift_bench.json
Storage Engine
Write throughput
| Workload | Throughput | Durability |
|---|---|---|
| OLTP -- 16 threads, 1M rows, 60s | 258,555 TPS | Relaxed (group commit) |
| Embedded INSERT -- batched 100/stmt | 20,267 rows/sec | Relaxed |
| Wire INSERT -- 4 clients | 454 rows/sec | Strict (fsync/commit) |
Read latency (warm cache)
| Point read p50 | 3 µs |
| Point read p99 | 47 µs |
Read latency (cold cache, 50M rows x 600B)
| Missing keys | 0 / 100,000 |
| Read p50 | 147 µs |
| Read p99 | 308 µs |
OLAP scan throughput
| Scan throughput | 4.49 GB/s |
| Zone-map skip rate | 80% |
Mixed OLTP + OLAP (concurrent, 60s)
| OLTP p99 during concurrent scan | 191 µs -- no degradation |
| HotSet evictions from scan storm | 0 -- ScanBuffer isolation works |
Encryption
Measured with cargo bench -p galaxdb-crypto on the same hardware.
| Operation | Latency | Throughput |
|---|---|---|
| AEGIS-256 decrypt 1 MB | 151 µs | 6.63 GB/s |
| AEGIS-256 encrypt 64 KB | 9.75 µs | 6.56 GB/s |
| AES-256-GCM decrypt 1 MB | 701 µs | 1.43 GB/s |
| XXH3-64 checksum 1 MB | -- | 34.1 GB/s |
| ART lookup (1M keys) | 168 ns/op | -- |
Crash Safety
All 7 chaos scenarios pass in under 30s total.
| Scenario | Result | Time |
|---|---|---|
| Kill mid-flush -- WAL replay | 1,000 rows recovered, zero loss | 8.79s |
| Kill mid-compaction -- old blocks intact | 4,000 keys readable | 0.02s |
| Corrupt WAL record -- replay stops at corruption | Partial recovery, no corrupt data returned | 1.81s |
| Disk full -- clean checkpoint, writes blocked | Reserve file freed, reads continue | 0.01s |
| Kill sidecar -- backlog preserved, no data loss | 50 requests queued, drained on recovery | 0.00s |
| 100 concurrent writers | 100K writes, 0 duplicates, 0 missing | 0.13s |
| OLAP scan during OLTP | 0 HotSet evictions, OLTP p99 unaffected | 0.15s |
| Total | 7 passed / 0 failed | 10.91s |
# Reproduce
cargo run --release -p galaxdb-chaos-tests
Test Suite
740
Rust unit tests
0 failed
7
Chaos scenarios
0 failed
10.91s
Total chaos time
all recovery < 30s
# Reproduce
cargo test --workspace --exclude galaxdb-python --lib
Methodology
- --All numbers measured on AWS c6id.4xlarge (Intel Xeon Platinum 8375C @ 2.90GHz, 16 vCPU, 32 GiB RAM, 884 GB NVMe), Ubuntu 24.04.
- --All builds use
cargo build --release. Debug builds are never published. - --Random-vector HNSW benchmarks are not reported. SIFT-1M only.
- --Raw benchmark JSON: sift_bench.json
- --Full reproduction guide: BENCHMARKS.md