# Benching `TxGraph` queries ### Methods code: [WIP: Benchmark `TxGraph` queries #1735](https://github.com/bitcoindevkit/bdk/pull/1735) - Collect data as of 1.0.0-beta.5 (rev: [3bc45b54](https://github.com/bitcoindevkit/bdk/commits/3bc45b5431014af3a8255a201e49227584e953b5)) - Test performance of selected tx-graph queries - Plot performance in each case under variable workload ### Results bench: `list_canonical_txs` plot: Time to list canonical txs vs number of tx descendants | n descendants | time (ms) | | --- | --- | | 25 | 0.589 | | 50 | 2.3 | | 100 | 8.8 | | 250 | 54.5 | | 500 | 221 | | 1000 | 876 | ![chain-unconfirmed](https://hackmd.io/_uploads/Bky5UCemJe.png) <hr> bench: `filter_chain_unspents` plot: Time to filter chain unspents vs number of tx-graph conflicts (single ancestor) | n conflicts | time (ms) | | --- | --- | | 100 | 0.896 | | 500 | 6.7 | | 1000 | 18.5 | | 2500 | 109 | | 5000 | 326 | ![filter-chain-unspents](https://hackmd.io/_uploads/SkmOvAl7kl.png) <hr> bench: `nested_conflicts` plot: Time to list canonical txs vs total tx-graph conflicts (two ancestors) | n conflicts | time (ms) | | --- | --- | | 200 | 0.979 | | 500 | 3.07 | | 1000 | 8.07 | | 2500 | 37.3 | | 5000 | 122 | | 10000 | 447 | ![nested-conflicts](https://hackmd.io/_uploads/BJk1uClXkl.png)