From f10abbd1e303519f7d154cbe6f8074512495d5f2 Mon Sep 17 00:00:00 2001 From: Sachymetsu Date: Mon, 20 Apr 2026 16:43:19 +0200 Subject: [PATCH] More benches, little tidy-ups --- benches/garbl_bench.rs | 23 +++++++++++++++++------ wharrgarbl-strobe/src/strobe.rs | 1 + wharrgarbl-strobe/src/traits.rs | 2 +- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/benches/garbl_bench.rs b/benches/garbl_bench.rs index b443a67..6177d38 100644 --- a/benches/garbl_bench.rs +++ b/benches/garbl_bench.rs @@ -13,20 +13,31 @@ fn generate_text() -> Vec { } fn wharrgarbl_benchmark(c: &mut Criterion) { - use wharrgarbl::transport::AeadStrobe; - use wharrgarbl_strobe::Sec128; + use wharrgarbl::{Sec128, Sec256, transport::AeadStrobe}; let key = Array([77u8; 32]); let nonce = Array([12u8; 16]); - let transport = AeadStrobe::::new(&key); + let transport_128 = AeadStrobe::::new(&key); + let transport_256 = AeadStrobe::::new(&key); - c.bench_function("WHGL TRANSPORT ROUNDTRIP", |b| { + c.bench_function("WHGL-128 TRANSPORT ROUNDTRIP", |b| { b.iter_batched_ref( generate_text, |text| { - let _ = transport.encrypt_in_place(&nonce, b"bench", black_box(text)); - let _ = transport.decrypt_in_place(&nonce, b"bench", black_box(text)); + let _ = transport_128.encrypt_in_place(&nonce, b"bench", black_box(text)); + let _ = transport_128.decrypt_in_place(&nonce, b"bench", black_box(text)); + }, + criterion::BatchSize::LargeInput, + ); + }); + + c.bench_function("WHGL-256 TRANSPORT ROUNDTRIP", |b| { + b.iter_batched_ref( + generate_text, + |text| { + let _ = transport_256.encrypt_in_place(&nonce, b"bench", black_box(text)); + let _ = transport_256.decrypt_in_place(&nonce, b"bench", black_box(text)); }, criterion::BatchSize::LargeInput, ); diff --git a/wharrgarbl-strobe/src/strobe.rs b/wharrgarbl-strobe/src/strobe.rs index 8d2b062..5248b53 100644 --- a/wharrgarbl-strobe/src/strobe.rs +++ b/wharrgarbl-strobe/src/strobe.rs @@ -167,6 +167,7 @@ impl StrobeState { self.start = 0; } + #[inline] fn increment_position(&mut self, increment: usize) { self.position += increment; diff --git a/wharrgarbl-strobe/src/traits.rs b/wharrgarbl-strobe/src/traits.rs index 85d1f83..403bc09 100644 --- a/wharrgarbl-strobe/src/traits.rs +++ b/wharrgarbl-strobe/src/traits.rs @@ -8,7 +8,7 @@ pub trait StrobeSecurity: Unsigned { Self::to_u16().to_le_bytes() } fn rate() -> usize { - KECCAK_BUFFER_SIZE - (Self::to_usize()) / 4 - 2 + KECCAK_BUFFER_SIZE - Self::to_usize() / 4 - 2 } fn ratchet_bytes() -> usize { Self::to_usize() >> 3 -- 2.51.2