1
1
use std:: { mem, ptr} ;
2
2
3
3
use rand:: distributions:: { Alphanumeric , Standard } ;
4
- use rand:: { thread_rng, Rng , SeedableRng } ;
5
- use rand_xorshift:: XorShiftRng ;
4
+ use rand:: Rng ;
6
5
use test:: { black_box, Bencher } ;
7
6
8
7
#[ bench]
@@ -152,7 +151,7 @@ fn zero_1kb_mut_iter(b: &mut Bencher) {
152
151
153
152
#[ bench]
154
153
fn random_inserts ( b : & mut Bencher ) {
155
- let mut rng = thread_rng ( ) ;
154
+ let mut rng = crate :: bench_rng ( ) ;
156
155
b. iter ( || {
157
156
let mut v = vec ! [ ( 0 , 0 ) ; 30 ] ;
158
157
for _ in 0 ..100 {
@@ -164,7 +163,7 @@ fn random_inserts(b: &mut Bencher) {
164
163
165
164
#[ bench]
166
165
fn random_removes ( b : & mut Bencher ) {
167
- let mut rng = thread_rng ( ) ;
166
+ let mut rng = crate :: bench_rng ( ) ;
168
167
b. iter ( || {
169
168
let mut v = vec ! [ ( 0 , 0 ) ; 130 ] ;
170
169
for _ in 0 ..100 {
@@ -182,20 +181,18 @@ fn gen_descending(len: usize) -> Vec<u64> {
182
181
( 0 ..len as u64 ) . rev ( ) . collect ( )
183
182
}
184
183
185
- const SEED : [ u8 ; 16 ] = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 ] ;
186
-
187
184
fn gen_random ( len : usize ) -> Vec < u64 > {
188
- let mut rng = XorShiftRng :: from_seed ( SEED ) ;
185
+ let mut rng = crate :: bench_rng ( ) ;
189
186
( & mut rng) . sample_iter ( & Standard ) . take ( len) . collect ( )
190
187
}
191
188
192
189
fn gen_random_bytes ( len : usize ) -> Vec < u8 > {
193
- let mut rng = XorShiftRng :: from_seed ( SEED ) ;
190
+ let mut rng = crate :: bench_rng ( ) ;
194
191
( & mut rng) . sample_iter ( & Standard ) . take ( len) . collect ( )
195
192
}
196
193
197
194
fn gen_mostly_ascending ( len : usize ) -> Vec < u64 > {
198
- let mut rng = XorShiftRng :: from_seed ( SEED ) ;
195
+ let mut rng = crate :: bench_rng ( ) ;
199
196
let mut v = gen_ascending ( len) ;
200
197
for _ in ( 0usize ..) . take_while ( |x| x * x <= len) {
201
198
let x = rng. gen :: < usize > ( ) % len;
@@ -206,7 +203,7 @@ fn gen_mostly_ascending(len: usize) -> Vec<u64> {
206
203
}
207
204
208
205
fn gen_mostly_descending ( len : usize ) -> Vec < u64 > {
209
- let mut rng = XorShiftRng :: from_seed ( SEED ) ;
206
+ let mut rng = crate :: bench_rng ( ) ;
210
207
let mut v = gen_descending ( len) ;
211
208
for _ in ( 0usize ..) . take_while ( |x| x * x <= len) {
212
209
let x = rng. gen :: < usize > ( ) % len;
@@ -217,7 +214,7 @@ fn gen_mostly_descending(len: usize) -> Vec<u64> {
217
214
}
218
215
219
216
fn gen_strings ( len : usize ) -> Vec < String > {
220
- let mut rng = XorShiftRng :: from_seed ( SEED ) ;
217
+ let mut rng = crate :: bench_rng ( ) ;
221
218
let mut v = vec ! [ ] ;
222
219
for _ in 0 ..len {
223
220
let n = rng. gen :: < usize > ( ) % 20 + 1 ;
@@ -227,7 +224,7 @@ fn gen_strings(len: usize) -> Vec<String> {
227
224
}
228
225
229
226
fn gen_big_random ( len : usize ) -> Vec < [ u64 ; 16 ] > {
230
- let mut rng = XorShiftRng :: from_seed ( SEED ) ;
227
+ let mut rng = crate :: bench_rng ( ) ;
231
228
( & mut rng) . sample_iter ( & Standard ) . map ( |x| [ x; 16 ] ) . take ( len) . collect ( )
232
229
}
233
230
0 commit comments