@@ -15,13 +15,14 @@ const RAND_BENCH_N: u64 = 1000;
15
15
const BYTES_LEN : usize = 1024 ;
16
16
17
17
use core:: mem:: size_of;
18
+ use rand_chacha:: rand_core:: UnwrapErr ;
18
19
use test:: { black_box, Bencher } ;
19
20
20
21
use rand:: prelude:: * ;
21
22
use rand:: rngs:: ReseedingRng ;
22
23
use rand:: rngs:: { mock:: StepRng , OsRng } ;
23
24
use rand_chacha:: { ChaCha12Rng , ChaCha20Core , ChaCha20Rng , ChaCha8Rng } ;
24
- use rand_pcg:: { Pcg32 , Pcg64 , Pcg64Mcg , Pcg64Dxsm } ;
25
+ use rand_pcg:: { Pcg32 , Pcg64 , Pcg64Dxsm , Pcg64Mcg } ;
25
26
26
27
macro_rules! gen_bytes {
27
28
( $fnn: ident, $gen: expr) => {
@@ -41,17 +42,17 @@ macro_rules! gen_bytes {
41
42
}
42
43
43
44
gen_bytes ! ( gen_bytes_step, StepRng :: new( 0 , 1 ) ) ;
44
- gen_bytes ! ( gen_bytes_pcg32, Pcg32 :: from_entropy ( ) ) ;
45
- gen_bytes ! ( gen_bytes_pcg64, Pcg64 :: from_entropy ( ) ) ;
46
- gen_bytes ! ( gen_bytes_pcg64mcg, Pcg64Mcg :: from_entropy ( ) ) ;
47
- gen_bytes ! ( gen_bytes_pcg64dxsm, Pcg64Dxsm :: from_entropy ( ) ) ;
48
- gen_bytes ! ( gen_bytes_chacha8, ChaCha8Rng :: from_entropy ( ) ) ;
49
- gen_bytes ! ( gen_bytes_chacha12, ChaCha12Rng :: from_entropy ( ) ) ;
50
- gen_bytes ! ( gen_bytes_chacha20, ChaCha20Rng :: from_entropy ( ) ) ;
51
- gen_bytes ! ( gen_bytes_std, StdRng :: from_entropy ( ) ) ;
45
+ gen_bytes ! ( gen_bytes_pcg32, Pcg32 :: from_os_rng ( ) ) ;
46
+ gen_bytes ! ( gen_bytes_pcg64, Pcg64 :: from_os_rng ( ) ) ;
47
+ gen_bytes ! ( gen_bytes_pcg64mcg, Pcg64Mcg :: from_os_rng ( ) ) ;
48
+ gen_bytes ! ( gen_bytes_pcg64dxsm, Pcg64Dxsm :: from_os_rng ( ) ) ;
49
+ gen_bytes ! ( gen_bytes_chacha8, ChaCha8Rng :: from_os_rng ( ) ) ;
50
+ gen_bytes ! ( gen_bytes_chacha12, ChaCha12Rng :: from_os_rng ( ) ) ;
51
+ gen_bytes ! ( gen_bytes_chacha20, ChaCha20Rng :: from_os_rng ( ) ) ;
52
+ gen_bytes ! ( gen_bytes_std, StdRng :: from_os_rng ( ) ) ;
52
53
#[ cfg( feature = "small_rng" ) ]
53
54
gen_bytes ! ( gen_bytes_small, SmallRng :: from_thread_rng( ) ) ;
54
- gen_bytes ! ( gen_bytes_os, OsRng ) ;
55
+ gen_bytes ! ( gen_bytes_os, UnwrapErr ( OsRng ) ) ;
55
56
gen_bytes ! ( gen_bytes_thread, thread_rng( ) ) ;
56
57
57
58
macro_rules! gen_uint {
@@ -62,7 +63,7 @@ macro_rules! gen_uint {
62
63
b. iter( || {
63
64
let mut accum: $ty = 0 ;
64
65
for _ in 0 ..RAND_BENCH_N {
65
- accum = accum. wrapping_add( rng. gen :: <$ty>( ) ) ;
66
+ accum = accum. wrapping_add( rng. random :: <$ty>( ) ) ;
66
67
}
67
68
accum
68
69
} ) ;
@@ -72,40 +73,40 @@ macro_rules! gen_uint {
72
73
}
73
74
74
75
gen_uint ! ( gen_u32_step, u32 , StepRng :: new( 0 , 1 ) ) ;
75
- gen_uint ! ( gen_u32_pcg32, u32 , Pcg32 :: from_entropy ( ) ) ;
76
- gen_uint ! ( gen_u32_pcg64, u32 , Pcg64 :: from_entropy ( ) ) ;
77
- gen_uint ! ( gen_u32_pcg64mcg, u32 , Pcg64Mcg :: from_entropy ( ) ) ;
78
- gen_uint ! ( gen_u32_pcg64dxsm, u32 , Pcg64Dxsm :: from_entropy ( ) ) ;
79
- gen_uint ! ( gen_u32_chacha8, u32 , ChaCha8Rng :: from_entropy ( ) ) ;
80
- gen_uint ! ( gen_u32_chacha12, u32 , ChaCha12Rng :: from_entropy ( ) ) ;
81
- gen_uint ! ( gen_u32_chacha20, u32 , ChaCha20Rng :: from_entropy ( ) ) ;
82
- gen_uint ! ( gen_u32_std, u32 , StdRng :: from_entropy ( ) ) ;
76
+ gen_uint ! ( gen_u32_pcg32, u32 , Pcg32 :: from_os_rng ( ) ) ;
77
+ gen_uint ! ( gen_u32_pcg64, u32 , Pcg64 :: from_os_rng ( ) ) ;
78
+ gen_uint ! ( gen_u32_pcg64mcg, u32 , Pcg64Mcg :: from_os_rng ( ) ) ;
79
+ gen_uint ! ( gen_u32_pcg64dxsm, u32 , Pcg64Dxsm :: from_os_rng ( ) ) ;
80
+ gen_uint ! ( gen_u32_chacha8, u32 , ChaCha8Rng :: from_os_rng ( ) ) ;
81
+ gen_uint ! ( gen_u32_chacha12, u32 , ChaCha12Rng :: from_os_rng ( ) ) ;
82
+ gen_uint ! ( gen_u32_chacha20, u32 , ChaCha20Rng :: from_os_rng ( ) ) ;
83
+ gen_uint ! ( gen_u32_std, u32 , StdRng :: from_os_rng ( ) ) ;
83
84
#[ cfg( feature = "small_rng" ) ]
84
85
gen_uint ! ( gen_u32_small, u32 , SmallRng :: from_thread_rng( ) ) ;
85
- gen_uint ! ( gen_u32_os, u32 , OsRng ) ;
86
+ gen_uint ! ( gen_u32_os, u32 , UnwrapErr ( OsRng ) ) ;
86
87
gen_uint ! ( gen_u32_thread, u32 , thread_rng( ) ) ;
87
88
88
89
gen_uint ! ( gen_u64_step, u64 , StepRng :: new( 0 , 1 ) ) ;
89
- gen_uint ! ( gen_u64_pcg32, u64 , Pcg32 :: from_entropy ( ) ) ;
90
- gen_uint ! ( gen_u64_pcg64, u64 , Pcg64 :: from_entropy ( ) ) ;
91
- gen_uint ! ( gen_u64_pcg64mcg, u64 , Pcg64Mcg :: from_entropy ( ) ) ;
92
- gen_uint ! ( gen_u64_pcg64dxsm, u64 , Pcg64Dxsm :: from_entropy ( ) ) ;
93
- gen_uint ! ( gen_u64_chacha8, u64 , ChaCha8Rng :: from_entropy ( ) ) ;
94
- gen_uint ! ( gen_u64_chacha12, u64 , ChaCha12Rng :: from_entropy ( ) ) ;
95
- gen_uint ! ( gen_u64_chacha20, u64 , ChaCha20Rng :: from_entropy ( ) ) ;
96
- gen_uint ! ( gen_u64_std, u64 , StdRng :: from_entropy ( ) ) ;
90
+ gen_uint ! ( gen_u64_pcg32, u64 , Pcg32 :: from_os_rng ( ) ) ;
91
+ gen_uint ! ( gen_u64_pcg64, u64 , Pcg64 :: from_os_rng ( ) ) ;
92
+ gen_uint ! ( gen_u64_pcg64mcg, u64 , Pcg64Mcg :: from_os_rng ( ) ) ;
93
+ gen_uint ! ( gen_u64_pcg64dxsm, u64 , Pcg64Dxsm :: from_os_rng ( ) ) ;
94
+ gen_uint ! ( gen_u64_chacha8, u64 , ChaCha8Rng :: from_os_rng ( ) ) ;
95
+ gen_uint ! ( gen_u64_chacha12, u64 , ChaCha12Rng :: from_os_rng ( ) ) ;
96
+ gen_uint ! ( gen_u64_chacha20, u64 , ChaCha20Rng :: from_os_rng ( ) ) ;
97
+ gen_uint ! ( gen_u64_std, u64 , StdRng :: from_os_rng ( ) ) ;
97
98
#[ cfg( feature = "small_rng" ) ]
98
99
gen_uint ! ( gen_u64_small, u64 , SmallRng :: from_thread_rng( ) ) ;
99
- gen_uint ! ( gen_u64_os, u64 , OsRng ) ;
100
+ gen_uint ! ( gen_u64_os, u64 , UnwrapErr ( OsRng ) ) ;
100
101
gen_uint ! ( gen_u64_thread, u64 , thread_rng( ) ) ;
101
102
102
103
macro_rules! init_gen {
103
104
( $fnn: ident, $gen: ident) => {
104
105
#[ bench]
105
106
fn $fnn( b: & mut Bencher ) {
106
- let mut rng = Pcg32 :: from_entropy ( ) ;
107
+ let mut rng = Pcg32 :: from_os_rng ( ) ;
107
108
b. iter( || {
108
- let r2 = $gen:: from_rng( & mut rng) . unwrap ( ) ;
109
+ let r2 = $gen:: from_rng( & mut rng) ;
109
110
r2
110
111
} ) ;
111
112
}
@@ -125,7 +126,7 @@ macro_rules! reseeding_bytes {
125
126
( $fnn: ident, $thresh: expr) => {
126
127
#[ bench]
127
128
fn $fnn( b: & mut Bencher ) {
128
- let mut rng = ReseedingRng :: new( ChaCha20Core :: from_entropy ( ) , $thresh * 1024 , OsRng ) ;
129
+ let mut rng = ReseedingRng :: new( ChaCha20Core :: from_os_rng ( ) , $thresh * 1024 , OsRng ) ;
129
130
let mut buf = [ 0u8 ; RESEEDING_BYTES_LEN ] ;
130
131
b. iter( || {
131
132
for _ in 0 ..RESEEDING_BENCH_N {
0 commit comments