// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // Copyright by contributors to this project. // SPDX-License-Identifier: (Apache-2.0 OR MIT) use mls_rs::test_utils::benchmarks::{load_group_states, BENCH_CIPHER_SUITE}; use criterion::{BenchmarkId, Criterion}; fn bench_serialize(c: &mut Criterion) { use criterion::BatchSize; let group_states = load_group_states(); let mut bench_group = c.benchmark_group("group_serialize"); for (i, group_states) in group_states.into_iter().enumerate() { bench_group.bench_with_input( BenchmarkId::new(format!("{BENCH_CIPHER_SUITE:?}"), i), &i, |b, _| { b.iter_batched_ref( || group_states.sender.clone(), move |sender| sender.write_to_storage().unwrap(), BatchSize::SmallInput, ) }, ); } bench_group.finish(); } criterion::criterion_group!(benches, bench_serialize); criterion::criterion_main!(benches);