This repository contains Cuprate's benchmarks and benchmarking utilities.
See the Benchmarking
section in the Architecture book for documentation.
# Run all Criterion benchmarks.
#
# This takes ~3 hours as of these two commits:
# - Cuprate/benches@f891e2a
# - Cuprate/cuprate@7b8756f
cargo bench
# Run all `cuprate-benchmark` benchmarks.
cargo run --release --package cuprate-benchmark --features all
See https://benches.hinto.rs for historical benchmark data.
$MACHINE_NAME/
├── criterion/
│ └── $COMMIT_1..$COMMIT_2/
│ └── $CRITERION_DATA
└── benchmarks/
└── $COMMIT/
└── $BENCHMARKING_DATA
- The top-level directories are named after the machines being used
- Each top-level directory have 2 sub-directories:
criterion
andbenchmarks
- Within
criterion
, the data is placed in directories with theCuprate/cuprate
commits being compared - Within
benchmarks
, the data is placed in directories with theCuprate/cuprate
commit used
Machine name/directory | CPU | Core/thread count | Memory | Disk (sequential read, write) | Disk (random read, write) |
---|---|---|---|---|---|
moo | Intel Xeon E5 2698 v3 | 8/16 | 32 GB, 4000 MT/s | 350 MB/s, 100 MB/s | 100 MB/s, 44 MB/s |
red | AMD Ryzen 5950x | 16/32 | 64 GB, 3600 MT/s | 4400 MB/s, 1600 MB/s | 2200 MB/s, 1700 MB/s |