You can run benchmarks using synthetic workloads (patch-state or invoke) which are generated in-memory.
Workload Types:
patch-state: Exercises state table reads/writes and virtual object status lookups. Simplest workload.invoke: Exercises invocation status table, journal table, virtual object locking, inbox, and outbox.
Example: Quick one-shot benchmark
RUST_LOG=warn cargo run --release -p pp-bench -- \
run --workload patch-state --num-commands 1000000 --batch-size 10
Example: Separated workflow (Generate -> Inspect -> Run)
# 1. Generate commands
cargo run --release -p pp-bench -- \
generate -o commands.bin --workload invoke --num-commands 1000000
# 2. Inspect the file
cargo run --release -p pp-bench -- inspect commands.bin
# 3. Run from the file
RUST_LOG=warn cargo run --release -p pp-bench -- \
run --command-file commands.bin --batch-size 10