mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-02 14:37:42 -03:00
Merge bitcoin/bitcoin#31690: doc: Amend notes on benchmarking
e94c9d1712
[doc] Amend notes on benchmarking (dergoegge) Pull request description: This gives some more context on the motivation and larger picture of benchmarks. ACKs for top commit: l0rinc: ACKe94c9d1712
instagibbs: reACKe94c9d1712
darosior: reACKe94c9d1712
brunoerg: reACKe94c9d1712
Tree-SHA512: 2cbf51f283f2efc0938e7021ae48db51fe89caf9ef9780821e99fa745dff839e2d202ca956ce6cc48b8319db304069728e77883feefe486264eb1783a0610c93
This commit is contained in:
commit
7b4d072e4f
1 changed files with 23 additions and 6 deletions
|
@ -47,12 +47,29 @@ or using a regex filter to only run certain benchmarks.
|
|||
|
||||
Notes
|
||||
---------------------
|
||||
More benchmarks are needed for, in no particular order:
|
||||
- Script Validation
|
||||
- Coins database
|
||||
- Memory pool
|
||||
- Cuckoo Cache
|
||||
- P2P throughput
|
||||
|
||||
Benchmarks help with monitoring for performance regressions and can act as a
|
||||
scope for future performance improvements. They should cover components that
|
||||
impact performance critical functions of the system. Functions are performance
|
||||
critical if their performance impacts users and the cost associated with a
|
||||
degradation in performance is high. A non-exhaustive list:
|
||||
|
||||
- Initial block download (Cost: slow IBD results in full node operation being
|
||||
less accessible)
|
||||
- Block template creation (Cost: slow block template creation may result in
|
||||
lower fee revenue for miners)
|
||||
- Block propagation (Cost: slow block propagation may increase the rate of
|
||||
orphaned blocks and mining centralization)
|
||||
|
||||
A change aiming to improve the performance may be rejected when a clear
|
||||
end-to-end performance improvement cannot be demonstrated. The change might
|
||||
also be rejected if the code bloat or review/maintenance burden is too high to
|
||||
justify the improvement.
|
||||
|
||||
Benchmarks are ill-suited for testing denial-of-service issues as they are
|
||||
restricted to the same input set (introducing bias). [Fuzz
|
||||
tests](/doc/fuzzing.md) are better suited for this purpose, as they are
|
||||
specifically aimed at exploring the possible input space.
|
||||
|
||||
Going Further
|
||||
--------------------
|
||||
|
|
Loading…
Add table
Reference in a new issue