I recently ran a comparison between different coin-selection implementations, namely bitcoin-core, rust-bitcoin-coin-selection and this crate, bdk coin select. In so doing, I noticed BDK coin-select is slow, like really really slow.
These are the numbers I recently recorded:
| implementation |
interface |
pool size |
ns/select |
| bitcoin-coin-selection |
select_coins() |
400 |
862,910 |
| bitcoin core |
AttemptSelection() |
400 |
16,695,408 |
| bdk coin-select |
run_bnb(lowest_fee) |
50 |
30,202,000 |
To make matters worse, both bitcoin-core and bitcoin-coin-selection actually run the interface in a loop 10 times for each measurement.
For more details on the measurements, see my PR for adding coin-selection Criterion measurements here.
Hopefully these findings can help you all in fine tuning the performance of this crate.
I recently ran a comparison between different coin-selection implementations, namely bitcoin-core, rust-bitcoin-coin-selection and this crate, bdk coin select. In so doing, I noticed BDK coin-select is slow, like really really slow.
These are the numbers I recently recorded:
To make matters worse, both bitcoin-core and bitcoin-coin-selection actually run the interface in a loop 10 times for each measurement.
For more details on the measurements, see my PR for adding coin-selection Criterion measurements here.
Hopefully these findings can help you all in fine tuning the performance of this crate.