From 123fefac602fd36504134c01328c42be0b827626 Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Thu, 20 Oct 2022 16:37:41 -0700 Subject: [PATCH] Avoid initializing the buffer in `getrandom_uninit` benchmarks. --- benches/mod.rs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/benches/mod.rs b/benches/mod.rs index 9a8f080e..ec822b14 100644 --- a/benches/mod.rs +++ b/benches/mod.rs @@ -1,4 +1,6 @@ #![feature(test)] +#![feature(maybe_uninit_as_bytes)] + extern crate test; use std::mem::MaybeUninit; @@ -21,16 +23,9 @@ fn bench_getrandom(b: &mut test::Bencher) { fn bench_getrandom_uninit(b: &mut test::Bencher) { b.bytes = N as u64; b.iter(|| { - // TODO: When the feature `maybe_uninit_as_bytes` is available, use: - // ``` - // let mut buf: MaybeUninit<[u8; N]> = MaybeUninit::uninit(); - // getrandom::getrandom_uninit(buf.as_bytes_mut()).unwrap(); - // test::black_box(unsafe { buf.assume_init() }) - // ``` - // since that is the shape we expect most callers to have. - let mut buf = [MaybeUninit::new(0u8); N]; - let buf = getrandom::getrandom_uninit(&mut buf[..]).unwrap(); - test::black_box(&buf); + let mut buf: MaybeUninit<[u8; N]> = MaybeUninit::uninit(); + let buf = getrandom::getrandom_uninit(buf.as_bytes_mut()).unwrap(); + test::black_box(buf); }); }