Skip to content

Performance Benchmarks

Walrust is optimized to use less memory than Litestream. This page summarizes performance characteristics based on our benchmark suite.

Walrust uses less memory than Litestream, especially when watching multiple databases:

DatabaseswalrustlitestreamReduction
119 MB36 MB47%
1019 MB55 MB65%
10020 MB160 MB88%

Walrust’s memory usage remains ~19-20 MB regardless of database count.

Walrust detects SQLite changes with low latency:

Databasesp50 Latencyp99 Latency
10< 5ms< 15ms
100< 10ms< 50ms

Walrust starts quickly even with many databases:

DatabasesStartup Time
10< 100ms
100< 500ms
1000< 3s

To run the benchmark suite locally:

Terminal window
# Start MinIO for S3-compatible storage
make bench-minio
# Run all benchmarks
make bench-all
# Or run individual benchmarks
make bench-compare # Memory/CPU comparison
make bench-multidb # Multi-database performance
make bench-realworld # Sync latency, restore, throughput
# Stop MinIO when done
make bench-minio-stop

All benchmarks support JSON output for CI integration:

Terminal window
python bench/compare.py --use-minio --json > results.json