@@ -15,13 +15,14 @@ const RAND_BENCH_N: u64 = 1000;
1515const BYTES_LEN : usize = 1024 ;
1616
1717use core:: mem:: size_of;
18+ use rand_chacha:: rand_core:: UnwrapErr ;
1819use test:: { black_box, Bencher } ;
1920
2021use rand:: prelude:: * ;
2122use rand:: rngs:: ReseedingRng ;
2223use rand:: rngs:: { mock:: StepRng , OsRng } ;
2324use rand_chacha:: { ChaCha12Rng , ChaCha20Core , ChaCha20Rng , ChaCha8Rng } ;
24- use rand_pcg:: { Pcg32 , Pcg64 , Pcg64Mcg , Pcg64Dxsm } ;
25+ use rand_pcg:: { Pcg32 , Pcg64 , Pcg64Dxsm , Pcg64Mcg } ;
2526
2627macro_rules! gen_bytes {
2728 ( $fnn: ident, $gen: expr) => {
@@ -41,17 +42,17 @@ macro_rules! gen_bytes {
4142}
4243
4344gen_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 ( ) ) ;
5253#[ cfg( feature = "small_rng" ) ]
5354gen_bytes ! ( gen_bytes_small, SmallRng :: from_thread_rng( ) ) ;
54- gen_bytes ! ( gen_bytes_os, OsRng ) ;
55+ gen_bytes ! ( gen_bytes_os, UnwrapErr ( OsRng ) ) ;
5556gen_bytes ! ( gen_bytes_thread, thread_rng( ) ) ;
5657
5758macro_rules! gen_uint {
@@ -62,7 +63,7 @@ macro_rules! gen_uint {
6263 b. iter( || {
6364 let mut accum: $ty = 0 ;
6465 for _ in 0 ..RAND_BENCH_N {
65- accum = accum. wrapping_add( rng. gen :: <$ty>( ) ) ;
66+ accum = accum. wrapping_add( rng. random :: <$ty>( ) ) ;
6667 }
6768 accum
6869 } ) ;
@@ -72,40 +73,40 @@ macro_rules! gen_uint {
7273}
7374
7475gen_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 ( ) ) ;
8384#[ cfg( feature = "small_rng" ) ]
8485gen_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 ) ) ;
8687gen_uint ! ( gen_u32_thread, u32 , thread_rng( ) ) ;
8788
8889gen_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 ( ) ) ;
9798#[ cfg( feature = "small_rng" ) ]
9899gen_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 ) ) ;
100101gen_uint ! ( gen_u64_thread, u64 , thread_rng( ) ) ;
101102
102103macro_rules! init_gen {
103104 ( $fnn: ident, $gen: ident) => {
104105 #[ bench]
105106 fn $fnn( b: & mut Bencher ) {
106- let mut rng = Pcg32 :: from_entropy ( ) ;
107+ let mut rng = Pcg32 :: from_os_rng ( ) ;
107108 b. iter( || {
108- let r2 = $gen:: from_rng( & mut rng) . unwrap ( ) ;
109+ let r2 = $gen:: from_rng( & mut rng) ;
109110 r2
110111 } ) ;
111112 }
@@ -125,7 +126,7 @@ macro_rules! reseeding_bytes {
125126 ( $fnn: ident, $thresh: expr) => {
126127 #[ bench]
127128 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 ) ;
129130 let mut buf = [ 0u8 ; RESEEDING_BYTES_LEN ] ;
130131 b. iter( || {
131132 for _ in 0 ..RESEEDING_BENCH_N {
0 commit comments