Skip to content

Commit d522176

Browse files
committed
wollet: add pset_balance benches
19ms on my machine
1 parent 66bad70 commit d522176

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

lwk_wollet/benches/benches.rs

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
use std::str::FromStr;
22

33
use criterion::{black_box, criterion_group, criterion_main, Criterion};
4-
use elements::Address;
4+
use elements::{pset::PartiallySignedTransaction, Address};
5+
use elements_miniscript::{ConfidentialDescriptor, DescriptorPublicKey};
56
use lwk_wollet::{ElementsNetwork, NoPersist, Update, Wollet, WolletDescriptor};
67

7-
criterion_group!(benches, wollet, address);
8+
criterion_group!(benches, wollet, address, pset);
89
criterion_main!(benches);
910

1011
pub fn wollet(c: &mut Criterion) {
@@ -87,6 +88,26 @@ pub fn address(c: &mut Criterion) {
8788
});
8889
}
8990

91+
pub fn pset(c: &mut Criterion) {
92+
c.benchmark_group("pset")
93+
.bench_function("pset_balance", |b: &mut criterion::Bencher<'_>| {
94+
let desc_str = include_str!("../../lwk_common/test_data/pset_details/descriptor");
95+
let desc: ConfidentialDescriptor<DescriptorPublicKey> = desc_str.parse().unwrap();
96+
let pset_str = include_str!("../../lwk_common/test_data/pset_details/pset.base64");
97+
let pset: PartiallySignedTransaction = pset_str.parse().unwrap();
98+
b.iter(|| {
99+
let balance = lwk_common::pset_balance(
100+
&pset,
101+
&desc,
102+
&elements::AddressParams::LIQUID_TESTNET,
103+
)
104+
.unwrap();
105+
106+
black_box(balance);
107+
});
108+
});
109+
}
110+
90111
// duplicated from tests/test_wollet.rs
91112
pub fn test_wollet_with_many_transactions() -> Wollet {
92113
let update = lwk_test_util::update_test_vector_many_transactions();

0 commit comments

Comments
 (0)