@@ -14,10 +14,10 @@ use rand::{XorShiftRng, Hc128Rng, IsaacRng, Isaac64Rng, ChaChaRng};
14
14
use rand:: reseeding:: ReseedingRng ;
15
15
16
16
macro_rules! gen_bytes {
17
- ( $fnn: ident, $gen: ident ) => {
17
+ ( $fnn: ident, $gen: expr ) => {
18
18
#[ bench]
19
19
fn $fnn( b: & mut Bencher ) {
20
- let mut rng = $gen:: new ( ) . unwrap ( ) ;
20
+ let mut rng = $gen;
21
21
let mut buf = [ 0u8 ; BYTES_LEN ] ;
22
22
b. iter( || {
23
23
for _ in 0 ..RAND_BENCH_N {
@@ -30,18 +30,18 @@ macro_rules! gen_bytes {
30
30
}
31
31
}
32
32
33
- gen_bytes ! ( gen_bytes_xorshift, XorShiftRng ) ;
34
- gen_bytes ! ( gen_bytes_hc128, Hc128Rng ) ;
35
- gen_bytes ! ( gen_bytes_isaac, IsaacRng ) ;
36
- gen_bytes ! ( gen_bytes_isaac64, Isaac64Rng ) ;
37
- gen_bytes ! ( gen_bytes_std, StdRng ) ;
38
- gen_bytes ! ( gen_bytes_os, OsRng ) ;
33
+ gen_bytes ! ( gen_bytes_xorshift, XorShiftRng :: new ( ) ) ;
34
+ gen_bytes ! ( gen_bytes_hc128, Hc128Rng :: new ( ) ) ;
35
+ gen_bytes ! ( gen_bytes_isaac, IsaacRng :: new ( ) ) ;
36
+ gen_bytes ! ( gen_bytes_isaac64, Isaac64Rng :: new ( ) ) ;
37
+ gen_bytes ! ( gen_bytes_std, StdRng :: new ( ) ) ;
38
+ gen_bytes ! ( gen_bytes_os, OsRng :: new ( ) . unwrap ( ) ) ;
39
39
40
40
macro_rules! gen_uint {
41
- ( $fnn: ident, $ty: ty, $gen: ident ) => {
41
+ ( $fnn: ident, $ty: ty, $gen: expr ) => {
42
42
#[ bench]
43
43
fn $fnn( b: & mut Bencher ) {
44
- let mut rng = $gen:: new ( ) . unwrap ( ) ;
44
+ let mut rng = $gen;
45
45
b. iter( || {
46
46
for _ in 0 ..RAND_BENCH_N {
47
47
black_box( rng. gen :: <$ty>( ) ) ;
@@ -52,19 +52,19 @@ macro_rules! gen_uint {
52
52
}
53
53
}
54
54
55
- gen_uint ! ( gen_u32_xorshift, u32 , XorShiftRng ) ;
56
- gen_uint ! ( gen_u32_hc128, u32 , Hc128Rng ) ;
57
- gen_uint ! ( gen_u32_isaac, u32 , IsaacRng ) ;
58
- gen_uint ! ( gen_u32_isaac64, u32 , Isaac64Rng ) ;
59
- gen_uint ! ( gen_u32_std, u32 , StdRng ) ;
60
- gen_uint ! ( gen_u32_os, u32 , OsRng ) ;
55
+ gen_uint ! ( gen_u32_xorshift, u32 , XorShiftRng :: new ( ) ) ;
56
+ gen_uint ! ( gen_u32_hc128, u32 , Hc128Rng :: new ( ) ) ;
57
+ gen_uint ! ( gen_u32_isaac, u32 , IsaacRng :: new ( ) ) ;
58
+ gen_uint ! ( gen_u32_isaac64, u32 , Isaac64Rng :: new ( ) ) ;
59
+ gen_uint ! ( gen_u32_std, u32 , StdRng :: new ( ) ) ;
60
+ gen_uint ! ( gen_u32_os, u32 , OsRng :: new ( ) . unwrap ( ) ) ;
61
61
62
- gen_uint ! ( gen_u64_xorshift, u64 , XorShiftRng ) ;
63
- gen_uint ! ( gen_u64_hc128, u64 , Hc128Rng ) ;
64
- gen_uint ! ( gen_u64_isaac, u64 , IsaacRng ) ;
65
- gen_uint ! ( gen_u64_isaac64, u64 , Isaac64Rng ) ;
66
- gen_uint ! ( gen_u64_std, u64 , StdRng ) ;
67
- gen_uint ! ( gen_u64_os, u64 , OsRng ) ;
62
+ gen_uint ! ( gen_u64_xorshift, u64 , XorShiftRng :: new ( ) ) ;
63
+ gen_uint ! ( gen_u64_hc128, u64 , Hc128Rng :: new ( ) ) ;
64
+ gen_uint ! ( gen_u64_isaac, u64 , IsaacRng :: new ( ) ) ;
65
+ gen_uint ! ( gen_u64_isaac64, u64 , Isaac64Rng :: new ( ) ) ;
66
+ gen_uint ! ( gen_u64_std, u64 , StdRng :: new ( ) ) ;
67
+ gen_uint ! ( gen_u64_os, u64 , OsRng :: new ( ) . unwrap ( ) ) ;
68
68
69
69
// Do not test JitterRng like the others by running it RAND_BENCH_N times per,
70
70
// measurement, because it is way too slow. Only run it once.
@@ -81,7 +81,7 @@ macro_rules! init_gen {
81
81
( $fnn: ident, $gen: ident) => {
82
82
#[ bench]
83
83
fn $fnn( b: & mut Bencher ) {
84
- let mut rng = XorShiftRng :: new( ) . unwrap ( ) ;
84
+ let mut rng = XorShiftRng :: new( ) ;
85
85
b. iter( || {
86
86
let r2 = $gen:: from_rng( & mut rng) . unwrap( ) ;
87
87
black_box( r2) ;
@@ -107,7 +107,7 @@ macro_rules! chacha_rounds {
107
107
( $fn1: ident, $fn2: ident, $fn3: ident, $rounds: expr) => {
108
108
#[ bench]
109
109
fn $fn1( b: & mut Bencher ) {
110
- let mut rng = ChaChaRng :: new( ) . unwrap ( ) ;
110
+ let mut rng = ChaChaRng :: new( ) ;
111
111
rng. set_rounds( $rounds) ;
112
112
let mut buf = [ 0u8 ; BYTES_LEN ] ;
113
113
b. iter( || {
@@ -121,7 +121,7 @@ macro_rules! chacha_rounds {
121
121
122
122
#[ bench]
123
123
fn $fn2( b: & mut Bencher ) {
124
- let mut rng = ChaChaRng :: new( ) . unwrap ( ) ;
124
+ let mut rng = ChaChaRng :: new( ) ;
125
125
rng. set_rounds( $rounds) ;
126
126
b. iter( || {
127
127
for _ in 0 ..RAND_BENCH_N {
@@ -133,7 +133,7 @@ macro_rules! chacha_rounds {
133
133
134
134
#[ bench]
135
135
fn $fn3( b: & mut Bencher ) {
136
- let mut rng = ChaChaRng :: new( ) . unwrap ( ) ;
136
+ let mut rng = ChaChaRng :: new( ) ;
137
137
rng. set_rounds( $rounds) ;
138
138
b. iter( || {
139
139
for _ in 0 ..RAND_BENCH_N {
@@ -152,7 +152,7 @@ chacha_rounds!(gen_bytes_chacha20, gen_u32_chacha20, gen_u64_chacha20, 20);
152
152
153
153
#[ bench]
154
154
fn reseeding_hc128_bytes ( b : & mut Bencher ) {
155
- let mut rng = ReseedingRng :: new ( Hc128Rng :: new ( ) . unwrap ( ) ,
155
+ let mut rng = ReseedingRng :: new ( Hc128Rng :: new ( ) ,
156
156
128 * 1024 * 1024 ,
157
157
EntropyRng :: new ( ) ) ;
158
158
let mut buf = [ 0u8 ; BYTES_LEN ] ;
@@ -169,7 +169,7 @@ macro_rules! reseeding_uint {
169
169
( $fnn: ident, $ty: ty) => {
170
170
#[ bench]
171
171
fn $fnn( b: & mut Bencher ) {
172
- let mut rng = ReseedingRng :: new( Hc128Rng :: new( ) . unwrap ( ) ,
172
+ let mut rng = ReseedingRng :: new( Hc128Rng :: new( ) ,
173
173
128 * 1024 * 1024 ,
174
174
EntropyRng :: new( ) ) ;
175
175
b. iter( || {
0 commit comments