WIP: Benchmark TxGraph queries#1735
WIP: Benchmark TxGraph queries#1735ValuedMammal wants to merge 3 commits intobitcoindevkit:masterfrom
TxGraph queries#1735Conversation
chain: add optional dep `criterion`. Ideally this should be conditional on "--cfg=bdk_bench". See LDK for example
ci: bump nightly docs toolchain to 2024-11-17
1f43163 to
b8b1440
Compare
b8b1440 to
a650408
Compare
|
Why do we need a separate crate for benchmarks? |
|
Quick status update: I used the bench tests as of a650408 to produce some initial performance numbers, see #1687 (comment). I ran the same tests on #1670 and the result was such a vast improvement that the current benches in their basic form may not even be very useful post 1.0 but it gives us a starting point. @evanlinjin has also offered to continue work on this PR. Overall it's good to know that ongoing development is backed up by the data. I also had a question about whether it would be worth having a CI job for benchmarks and the process by which to monitor changes in performance, thoughts?
In theory you could have several bench tests from different crates run together as a single |
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
|
Replaced by #1670 |
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
This is mostly taken from bitcoindevkit#1735 except we inline many of the functions and test `list_canonical_txs`, `filter_chain_unspents` and `filter_chain_txouts` on all scenarios. CI and README is updated to pin `csv`. Co-authored-by: valued mammal <valuedmammal@protonmail.com>
Add
benchdirectory to the workspace and begin benchmarking performance of tx-graph queries. I'm currently working on creating benches for these scenarioscc #1687
Notes to the reviewers
Changelog notice
Checklists
All Submissions:
cargo fmtandcargo clippybefore committingNew Features:
Bugfixes: