From e4b707ba835b8cda318361f1dcd2701908c00513 Mon Sep 17 00:00:00 2001 From: Riccardo Casatta Date: Fri, 10 May 2024 11:12:41 +0200 Subject: [PATCH] add bench for base58::encode_check --- base58/src/lib.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/base58/src/lib.rs b/base58/src/lib.rs index 9533365e7..0b8e666f1 100644 --- a/base58/src/lib.rs +++ b/base58/src/lib.rs @@ -19,6 +19,9 @@ #[macro_use] extern crate alloc; +#[cfg(bench)] +extern crate test; + #[cfg(feature = "std")] extern crate std; @@ -284,3 +287,30 @@ mod tests { assert_eq!(decode_check(&encode(&[1, 2, 3])), Err(TooShortError { length: 3 }.into())); } } + + +#[cfg(bench)] +mod benches { + use test::{black_box, Bencher}; + + #[bench] + pub fn bench_encode_check_50(bh: &mut Bencher) { + let data: alloc::vec::Vec<_> = (0u8..50).collect(); + + bh.iter(|| { + let r = super::encode_check(&data); + black_box(&r); + }); + } + + #[bench] + pub fn bench_encode_check_xpub(bh: &mut Bencher) { + let data: alloc::vec::Vec<_> = (0u8..78).collect(); // lenght of xpub + + bh.iter(|| { + let r = super::encode_check(&data); + black_box(&r); + }); + } + +}