Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
867 changes: 1 addition & 866 deletions Cargo.lock

Large diffs are not rendered by default.

4 changes: 1 addition & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "benchkit"
version = "0.2.1"
version = "0.3.0"
edition = "2021"
rust-version = "1.84.1"

Expand All @@ -10,10 +10,8 @@ clap = { version = "4.5.29", features = ["cargo", "derive", "env"] }
env_logger = "0.11.6"
hwloc = "0.5.0"
regex = "1.10"
indicatif = "0.17.11"
libc = "0.2"
log = "0.4.26"
reqwest = { version = "0.12.14", default-features = false, features = ["blocking", "rustls-tls"] }
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.138"
serde_yaml = "0.9.34"
Expand Down
22 changes: 2 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ A benchmarking toolkit designed for benchmarking Bitcoin Core.
- System performance tuning and monitoring
- Process profiling and perf instrumentation (Linux only)
- Nix flake for integrated build and run shell environment
- AssumeUTXO snapshot management

## Prerequisites

Expand All @@ -32,14 +31,12 @@ git clone https://github.com/bitcoin-dev-tools/benchkit.git && cd benchkit
# Optional (Recommended)
nix develop

# Download a signet assumeutxo snapshot
cargo run -- snapshot download signet

# Build bitcoind binaries from config
cargo run -- build

# Ensure you have a signet node accepting connections on 127.0.0.1:39333 e.g.:
# `bitcoind -signet -port=39333 -rpcport=39332 -daemon=1`
# `bitcoind -signet -daemon=1 -port=39333 -rpcport=39334`

# Run demo benchmarks
cargo run -- run --out-dir ./out
Expand Down Expand Up @@ -100,22 +97,7 @@ benchkit system tune
benchkit system reset
```

### AssumeUTXO Snapshot Management

```bash
# Download snapshot for specific network
benchkit snapshot download [mainnet|signet]
```

### Patch testing

```bash
# Test the benchcoin patches apply cleanly to all refs
benchkit patch test

# Fetch latest benchkit patches from github
benchkit patch update
```

## Configuration Files

Expand Down Expand Up @@ -147,7 +129,7 @@ global:
host: x86_64-linux-gnu

benchmarks:
- name: "assumeutxo signet test sync"
- name: "signet test sync"
network: signet
connect: 127.0.0.1:39333
benchmark:
Expand Down
13 changes: 5 additions & 8 deletions benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,25 +38,22 @@ global:
scratch: $HOME/.local/state/benchkit/scratch

# Commits to build binaries from (required).
commits: ["af7402ccfa", "d1b583181d"]
commits: ["e221b252465", "8f73d952214"]

# 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"
- name: "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
connect: 127.0.0.1:39333

# 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.
Expand All @@ -67,10 +64,10 @@ benchmarks:
#
# {dbcache} here is an explicit (additional) parameterisation from
# [parameter_lists] below.
command: "bitcoind -dbcache={dbcache} -stopatheight=180000"
command: "bitcoind -dbcache={dbcache} -stopatheight=200000"
profile_interval: 1
warmup: 0
runs: 2
runs: 5

# A list of zero or more parameters.
# These will be tried as a matrix.
Expand Down
29 changes: 0 additions & 29 deletions config-examples/assumeutxo.yml

This file was deleted.

12 changes: 4 additions & 8 deletions config-examples/full-ibd.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
---
# Full IBD Mode Example
# Bitcoin Sync Example
#
# This example demonstrates the Full IBD (Initial Block Download) mode, which
# performs a complete sync from genesis without using snapshots. This is useful
# for benchmarking the full sync process.
# This example demonstrates benchmarking Bitcoin Core sync process.

global:
benchmark:
Expand All @@ -21,18 +19,16 @@ global:
tmp_data_dir: /tmp/benchkit

benchmarks:
- name: "full ibd signet sync"
- name: "signet sync"
network: signet
connect: 127.0.0.1:38333
mode: full_ibd # Use Full IBD mode - no assumeutxo snapshot syncing
benchmark:
command: "bitcoind -stopatheight=1000"
profile: true

- name: "full ibd with dbcache variations"
- name: "signet sync with dbcache variations"
network: signet
connect: 127.0.0.1:38333
mode: full_ibd
benchmark:
command: "bitcoind -dbcache={dbcache} -stopatheight=500"
parameter_lists:
Expand Down
5 changes: 0 additions & 5 deletions config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,3 @@ home_dir: $HOME/.local/state/benchkit
# The directory intermediate built binaries will be saved to.
bin_dir: $HOME/.local/state/benchkit/binaries

# The directory containing benchkit patches
patch_dir: $HOME/.local/state/benchkit/patches

# The directory containing assumeutxo snapshots
snapshot_dir: $HOME/.local/state/benchkit/snapshots
1 change: 1 addition & 0 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
];
buildInputs = [
boost
capnproto
hwloc
libevent
rust-bin.stable.latest.default
Expand Down
193 changes: 0 additions & 193 deletions patches/0001-validation-assumeutxo-benchmarking-patches.patch

This file was deleted.

Loading