This doc is going to talk about how to run performance benchmarks on macOS.
Instrument can be found in Xcode > Open Developer Tool > Instrument.
We currently have four local benchmark candidates:
executor_benchmark
indiem/executor
txn_bench
indiem/language/benchmark
Arith
andcall
benchmark indiem/language/benchmark
diem-swarm
with transaction traffic generated bycluster-test
.
The first item is a comprehensive benchmark of diem adapter, executor and storage that generates a block of p2p transactions and tries to execute and commit it to the DiemDB in local storage. The second item is a benchmark of Diem adapter only with a fake executor and an in-memory storage that executes randomly generated p2p transactions. The third item, although it’s still invoking Diem adapter, is mostly testing on the MoveVM’s ability of handling simple arithmetic operations and call stacks.
diem-swarm
is the most comprehensive suite which spawns a single validator node on your local machine. To start this suite, you will need to execute scripts/cli/start_cli_swarm.sh
and start transaction generation by following the cluster-test
instruction emitted in the instruction.
Open instrument and create a time profiler project.
Launch the benchmark target in the terminal, and select it in Instrument.
Here’s an example trace from running the benchmark