Skip to content

Commit 9eae552

Browse files
authored
Rollup merge of #54983 - kzys:rand-bench, r=tmandry
Fix slice's benchmarks Fixes #54013.
2 parents 644dbf9 + f930087 commit 9eae552

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

src/liballoc/benches/slice.rs

+13-10
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use std::mem;
1313
use std::ptr;
1414

1515
use rand::{Rng, SeedableRng, XorShiftRng};
16+
use rand::distributions::{Standard, Alphanumeric};
1617
use test::{Bencher, black_box};
1718

1819
#[bench]
@@ -192,18 +193,20 @@ fn gen_descending(len: usize) -> Vec<u64> {
192193
(0..len as u64).rev().collect()
193194
}
194195

196+
const SEED: [u8; 16] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
197+
195198
fn gen_random(len: usize) -> Vec<u64> {
196-
let mut rng = XorShiftRng::from_seed([0, 1, 2, 3]);
197-
rng.gen_iter::<u64>().take(len).collect()
199+
let mut rng = XorShiftRng::from_seed(SEED);
200+
rng.sample_iter(&Standard).take(len).collect()
198201
}
199202

200203
fn gen_random_bytes(len: usize) -> Vec<u8> {
201-
let mut rng = XorShiftRng::from_seed([0, 1, 2, 3]);
202-
rng.gen_iter::<u8>().take(len).collect()
204+
let mut rng = XorShiftRng::from_seed(SEED);
205+
rng.sample_iter(&Standard).take(len).collect()
203206
}
204207

205208
fn gen_mostly_ascending(len: usize) -> Vec<u64> {
206-
let mut rng = XorShiftRng::from_seed([0, 1, 2, 3]);
209+
let mut rng = XorShiftRng::from_seed(SEED);
207210
let mut v = gen_ascending(len);
208211
for _ in (0usize..).take_while(|x| x * x <= len) {
209212
let x = rng.gen::<usize>() % len;
@@ -214,7 +217,7 @@ fn gen_mostly_ascending(len: usize) -> Vec<u64> {
214217
}
215218

216219
fn gen_mostly_descending(len: usize) -> Vec<u64> {
217-
let mut rng = XorShiftRng::from_seed([0, 1, 2, 3]);
220+
let mut rng = XorShiftRng::from_seed(SEED);
218221
let mut v = gen_descending(len);
219222
for _ in (0usize..).take_while(|x| x * x <= len) {
220223
let x = rng.gen::<usize>() % len;
@@ -225,18 +228,18 @@ fn gen_mostly_descending(len: usize) -> Vec<u64> {
225228
}
226229

227230
fn gen_strings(len: usize) -> Vec<String> {
228-
let mut rng = XorShiftRng::from_seed([0, 1, 2, 3]);
231+
let mut rng = XorShiftRng::from_seed(SEED);
229232
let mut v = vec![];
230233
for _ in 0..len {
231234
let n = rng.gen::<usize>() % 20 + 1;
232-
v.push(rng.gen_ascii_chars().take(n).collect());
235+
v.push(rng.sample_iter(&Alphanumeric).take(n).collect());
233236
}
234237
v
235238
}
236239

237240
fn gen_big_random(len: usize) -> Vec<[u64; 16]> {
238-
let mut rng = XorShiftRng::from_seed([0, 1, 2, 3]);
239-
rng.gen_iter().map(|x| [x; 16]).take(len).collect()
241+
let mut rng = XorShiftRng::from_seed(SEED);
242+
rng.sample_iter(&Standard).map(|x| [x; 16]).take(len).collect()
240243
}
241244

242245
macro_rules! sort {

0 commit comments

Comments
 (0)