AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Informational 15 Bitcoin

refactor: improve benchmark setup and execution for various tests

Public commit record

What the developer wrote

Authored by Lőrinc

95/100 · Strong
refactor: improve benchmark setup and execution for various tests

Note that `make_hard_case` already clears the UTXO pool in `coin_selection.cpp`.

./build/bin/bench_bitcoin -filter='^(BnBExhaustion|AddrManAddThenGood|DeserializeBlockTest|DeserializeAndCheckBlockTest|CheckBlockTest|LoadExternalBlockFile|FindByte|WalletCreatePlain|WalletCreateEncrypted|WalletLoadingDescriptors)$'

| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 15,088,500.00 | 66.28 | 0.2% | 0.17 | `AddrManAddThenGood`
| 179,208.00 | 5,580.11 | 2.0% | 0.00 | `BnBExhaustion`

| ns/block | block/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 318,166.00 | 3,143.01 | 3.5% | 0.00 | `CheckBlockTest`
| 886,750.00 | 1,127.71 | 0.8% | 0.01 | `DeserializeBlockTest`

| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 42.00 | 23,809,523.81 | 2.4% | 0.00 | `FindByte`
| 5,473,208.00 | 182.71 | 0.4% | 0.06 | `LoadExternalBlockFile`
| 584,168,041.00 | 1.71 | 0.3% | 6.43 | `WalletCreateEncrypted`
| 168,040,458.00 | 5.95 | 1.1% | 1.85 | `WalletCreatePlain`
| 155,446,625.00 | 6.43 | 0.7% | 0.78 | `WalletLoadingDescriptors`

| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 14,894,917.00 | 67.14 | 0.3% | 0.16 | `AddrManAddThenGood`
| 177,667.00 | 5,628.51 | 1.3% | 0.00 | `BnBExhaustion`

| ns/block | block/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 313,791.00 | 3,186.83 | 3.8% | 0.00 | `CheckBlockTest`
| 888,208.00 | 1,125.86 | 0.7% | 0.01 | `DeserializeBlockTest`

| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 41.00 | 24,390,243.90 | 2.4% | 0.00 | `FindByte`
| 5,445,208.00 | 183.65 | 1.0% | 0.06 | `LoadExternalBlockFile`
| 581,800,500.00 | 1.72 | 0.4% | 6.40 | `WalletCreateEncrypted`
| 166,035,583.00 | 6.02 | 0.5% | 1.82 | `WalletCreatePlain`
| 153,574,792.00 | 6.51 | 0.1% | 0.77 | `WalletLoadingDescriptors`
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
The short version

What changed, and why it matters

This commit is a code cleanup that changes how several performance benchmarks are set up and run. It does not alter the behavior of the actual Bitcoin Core software that users run, only the internal testing/benchmarking code. There is no security issue here.

Recommended action

No security action needed. This is a benign benchmark refactoring commit.

Security signals we found

No strong security signals were identified.

Risk score

Why this scored 15/100

Our methodology →
Potential impact 0/30
Exploitability 0/25
Stealth signal 0/15
Affected reach 0/15
Confidence 10/10
Evidence quality 5/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.