Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Tools

Benchmarking

ToolUse
criterion.rsRust microbenchmarks (statistical, fights noise)
divanfaster-iteration Rust benches
hyperfineCLI-level benchmarks
redis-benchmark / memtier_benchmarkRESP server load testing
YCSB (or rust port)standard KV workloads A–F
BenchBase (CMU)TPC-C, TPC-H, and 20+ workloads against SQL DBs
ClickBenchanalytics benchmark (topic 12)
ann-benchmarksrecall/QPS curves for vector indexes (topic 14)
LDBC SNBgraph benchmark standard (topic 13)
pgbenchpostgres load gen

Profiling & observation

ToolUse
cargo flamegraph / samplyCPU flamegraphs on macOS/Linux
perf (Linux) + perf stat -dhardware counters: cache misses, branch misses, IPC
perf c2cfalse sharing detection (topic 9)
Instruments (macOS)time profiler, allocations, syscalls
heaptrack / dhat-rsallocation profiling
bpftrace / eBPFfsync latency, block IO tracing (topic 5)
iostat / fioraw disk characterization — know your hardware baseline
tokio-consoleasync runtime introspection (topic 7)

Correctness

ToolUse
proptest / quickcheckproperty-based testing vs model oracle
cargo-fuzz (libFuzzer)fuzz parsers, SST/page decoders
MiriUB detection in unsafe Rust
loomexhaustive interleaving checks for lock-free code (topic 9)
ThreadSanitizer / ASanC/C++ and FFI sanitizing
SQLancerlogic-bug finding in SQL engines
Jepsen + elledistributed consistency checking (topic 15)
TLA+ / PlusCalmodel checking protocols (optional, topic 15/16)
Z3 (via z3 crate)SMT solving: prove query rewrites equivalent, check invariants (topic 16)
strace / dtrussverify what syscalls actually happen (fsync lies)

Rust crates that recur

tokio, crossbeam (epoch, skiplist), hashbrown, parking_lot, memmap2, io-uring, arrow/parquet, sqlparser, openraft, rand/zipf (workload gen)