From 121b1692e4444756a1bc0cc3bc25761f0a6b0f75 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 | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/benches/mod.rs b/benches/mod.rs index 9a8f080e..aaeea2f7 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; @@ -22,15 +24,10 @@ 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); }); }