Skip to content

Commit 152f0a7

Browse files
authored
spki: bench SubjectPublicKeyInfoRef (#1947)
1 parent d87e308 commit 152f0a7

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

spki/benches/mod.rs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#![feature(test)]
2+
#![cfg(feature = "alloc")]
3+
4+
extern crate test;
5+
6+
use spki::SubjectPublicKeyInfoRef;
7+
use test::{Bencher, black_box};
8+
9+
/// Ed25519 `SubjectPublicKeyInfo` encoded as ASN.1 DER
10+
const ED25519_DER_EXAMPLE: &[u8] = include_bytes!("../tests/examples/ed25519-pub.der");
11+
12+
#[bench]
13+
fn bench_spki_decode(b: &mut Bencher) {
14+
b.iter(|| {
15+
let pk_encoded = black_box(ED25519_DER_EXAMPLE);
16+
black_box(SubjectPublicKeyInfoRef::try_from(pk_encoded)).unwrap();
17+
});
18+
b.bytes = ED25519_DER_EXAMPLE.len() as u64;
19+
}
20+
21+
#[bench]
22+
fn bench_spki_encode(b: &mut Bencher) {
23+
let pk = SubjectPublicKeyInfoRef::try_from(ED25519_DER_EXAMPLE).unwrap();
24+
let mut buf = [0u8; 256];
25+
26+
use der::Encode;
27+
b.iter(|| {
28+
let pk = black_box(&pk);
29+
black_box(pk.encode_to_slice(&mut buf)).unwrap();
30+
});
31+
b.bytes = ED25519_DER_EXAMPLE.len() as u64;
32+
}

0 commit comments

Comments
 (0)