Skip to content

Commit

Permalink
Group benchmark and perf compare
Browse files Browse the repository at this point in the history
  • Loading branch information
yancyribbens committed Nov 27, 2024
1 parent 4e899fc commit 2ddaea6
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,16 @@ The current interface is provided via `select_coins()` function. The required p

As discussed in the literature above, we want to find a "changeless" solution. A changeless solution is one that exceeds the `target` however is less than `target` + `cost_of_change`. If no changeless solution can be found, then creating a change output by splitting a UTXO is the next best outcome. To that end, `select_coins()` initially attempts a Branch and Bound selection algorithm to find a changeless solution. If no changeless solution is found, then `select_coins()` falls back to a Single Random Draw selection strategy.

## Fuzz

Fuzz with `cargo fuzz run select_coins_srd`, `cargo fuzz run select_coins_bnb` or `cargo fuzz run select_coins`.

## Benchmarks

To run the benchmarks use: `cargo bench`.

Note: criterion requires rustc version 1.65 to run the benchmarks.

## Fuzz

Fuzz with `cargo fuzz run select_coins_srd`, `cargo fuzz run select_coins_bnb` or `cargo fuzz run select_coins`.

### performance comparison

A basic performance comparison between this Rust BnB implementation and [Bitcoin Core](https://github.com/bitcoin/bitcoin/blob/4b1196a9855dcd188a24f393aa2fa21e2d61f061/src/wallet/coinselection.cpp#L76) using commodity hardware (My rather old laptop).
Expand Down

0 comments on commit 2ddaea6

Please sign in to comment.