Skip to content

Benchmarks

Results

TensorDB sled redb SQLite
Point Read Latency (lower is better)
TensorDB
276ns
sled
244ns
redb
573ns
SQLite
1.1µs
Point Write Latency (lower is better)
TensorDB
1.9µs
sled
9.2µs
redb
18.4µs
SQLite
38.6µs
Prefix Scan (100 keys, lower is better)
TensorDB
45µs
sled
38µs
redb
89µs
SQLite
156µs
Mixed Workload (80% read, 20% write)
TensorDB
2.1µs
sled
4.8µs
redb
7.2µs
SQLite
12.4µs

Benchmarks run on Linux x86_64, single-threaded, 1M pre-loaded keys. Lower is better for all measurements. See full benchmarks.

Detailed Numbers

Point Read Latency

EngineP50P99Notes
TensorDB276ns450nsDirect ShardReadHandle, bloom + cache
sled244ns380nsB-tree, memory-mapped
redb573ns890nsB-tree, copy-on-write
SQLite1,080ns2,100nsB-tree, WAL mode

Point Write Latency

EngineP50P99Notes
TensorDB1.9µs4.2µsFast write path, group WAL
sled9.2µs18µsWrite-ahead log
redb18.4µs35µsCopy-on-write B-tree
SQLite38.6µs72µsWAL mode, fsync per write

Prefix Scan (100 keys)

EngineLatencyNotes
sled38µsB-tree range scan
TensorDB45µsLSM multi-level merge
redb89µsB-tree range scan
SQLite156µsB-tree + SQLite overhead

Mixed Workload (80% read, 20% write)

EngineAvg LatencyNotes
TensorDB2.1µsFast path for both reads and writes
sled4.8µsMemory-mapped reads
redb7.2µsCopy-on-write overhead
SQLite12.4µsLock contention

Methodology

  • Platform: Linux x86_64
  • Dataset: 1M pre-loaded keys
  • Workload: Single-threaded, sequential
  • Measurements: 10K iterations, warm cache
  • SQLite: WAL mode, default settings
  • TensorDB: Default config (4 shards, fast write enabled)

Why TensorDB is Fast

Read Path

  • Direct ShardReadHandle: Bypasses actor channel (saves ~100ns)
  • Bloom filters: Skip SSTables with 99% accuracy
  • Block cache: 32MB LRU cache keeps hot data in memory
  • Prefix compression: Reduces data size for faster scans

Write Path

  • Fast write path: Atomic operations instead of channel messaging
  • Group WAL: Batched fdatasync reduces syscall overhead
  • Skip list memtable: O(log n) concurrent inserts

Running Benchmarks

Terminal window
# Basic benchmarks
cargo bench --bench basic
# Multi-engine comparative benchmarks
cargo bench --bench comparative
# Full overnight benchmark suite
./scripts/overnight_bench.sh