Skip to content

Latest Benchmark Results

This page shows detailed benchmark results. Results are updated with each release.

Memory usage (RSS) when watching multiple SQLite databases:

Databaseswalrust (MB)litestream (MB)Reduction
1193647%
10195565%
1002016088%

Measured with 100KB databases, syncing to Tigris S3 on macOS.

Time to start watching N databases (mean of 3 runs):

DatabasesStartup Time (ms)
145
1082
100423

Time from SQLite write to walrust detection:

Databasesp50 (ms)p95 (ms)p99 (ms)
12.14.88.2
104.312.118.7
1008.728.452.3

Average CPU usage during concurrent writes:

DatabasesCPU %
12.1
108.4
10024.7

Time from SQLite write to data available in S3:

Operationp50 (ms)p95 (ms)p99 (ms)
Single write4582124
Batch (100)5298156

Note: Using MinIO local storage. Real S3 latency will be higher due to network.

Time to restore database from S3:

Database SizeRestore Time (ms)
100 KB234
1 MB412
10 MB1,847

These results were collected on:

  • Platform: macOS (Apple Silicon)
  • Storage: Tigris S3
  • Database size: 100KB each
  • walrust: v0.3.0
  • litestream: v0.5.2
Terminal window
# Start MinIO
make bench-minio
# Run and get JSON output
python bench/compare.py --use-minio --json
python bench/multidb.py --use-minio --json
python bench/realworld.py --use-minio --json

Benchmark JSON files are available as artifacts on each release: