-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbenchmark.yml
More file actions
94 lines (77 loc) · 2.91 KB
/
benchmark.yml
File metadata and controls
94 lines (77 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
---
# Global benchmarking options.
global:
# Global benchmark option defaults.
#
# "benchmark" values will be overwritten by local options
# specified in
#
# benchmarks:
# <options>
# benchmark:
# <options>
benchmark:
warmup: 1
runs: 5
capture_output: false
profile: true
profile_interval: 1
# CPU core specifications for affinity control
# Cores to run benchmark commands on
benchmark_cores: "1-7"
# Core to bind the main benchkit process to
runner_cores: "0"
# Optional custom CMake build arguments
# Will apply to all commits
# cmake_build_args:
# - "-DCMAKE_CXX_FLAGS=-fno-omit-frame-pointer"
# Path to source code (required).
# Can point to a local or online fork of bitcoin/bitcoin.
source: $HOME/src/core/bitcoin
# source: https://github.com/bitcoin/bitcoin
# The directory binaries will be built into
scratch: $HOME/.local/state/benchkit/scratch
# Commits to build binaries from (required).
commits: ["af7402ccfa", "d1b583181d"]
# A temporary datadir for Bitcoin Core to use
tmp_data_dir: /tmp/benchkit
# Local benchmark config.
benchmarks:
# benchmark name (required).
- name: "assumeutxo signet test sync"
# Bitcoin network to run on (main, test, testnet4, signet, regtest)
network: signet
# An optional address for bitcoind to -connect to for sync
connect: 127.0.0.1:38333
# Hook mode to use (optional, defaults to "assumeutxo")
# Options: "assumeutxo" (uses snapshot syncing), "full_ibd" (full initial block download)
# mode: assumeutxo
# Local benchmark options.
# These override global benchmark options in case of conflict.
benchmark:
# The correct binary for the [commit] will be substituted.
# NOTE: -chain, -datadir, and -connect are automatically added by benchkit.
# Only specify additional parameters here.
#
# {dbcache} here is an explicit (additional) parameterisation from
# [parameter_lists] below.
command: "bitcoind -dbcache={dbcache} -stopatheight=180000"
profile_interval: 1
warmup: 0
runs: 2
# A list of zero or more parameters.
# These will be tried as a matrix.
parameter_lists:
# The variable name to use in command substitution.
- var: dbcache
# A list of values to substitute in.
values: ["450", "32000"]
# Optional regex pattern to stop the benchmark when matched in log output
# Cannot be used with profiling (profiling takes precedence)
# stop_on_log_pattern: "UpdateTip: new best=.* height=200000"
# Capture and store command output (default: false)
# capture_output: true
# Run benchmark under perf instrumentation (Linux only)
# When enabled, each benchmark will run twice: uninstrumented and instrumented
# The instrumented run generates a perf.data file in the output directory
# perf_instrumentation: true