@@ -18,6 +18,7 @@ use criterion::{criterion_group, criterion_main, Criterion, Throughput};
1818use criterion_cycles_per_byte:: CyclesPerByte ;
1919use rand_core:: { RngCore , SeedableRng } ;
2020
21+ use rand_chacha:: { ChaCha12Rng , ChaCha20Rng , ChaCha8Rng } ;
2122use rand_hc:: Hc128Rng ;
2223use rand_isaac:: { Isaac64Rng , IsaacRng } ;
2324use rand_xorshift:: XorShiftRng ;
@@ -64,6 +65,9 @@ fn gen_bytes(c: &mut Criterion<CyclesPerByte>) {
6465 gen_bytes ! ( "hc128" , Hc128Rng :: from_os_rng( ) ) ;
6566 gen_bytes ! ( "isaac" , IsaacRng :: from_os_rng( ) ) ;
6667 gen_bytes ! ( "isaac64" , Isaac64Rng :: from_os_rng( ) ) ;
68+ gen_bytes ! ( "chacha8" , ChaCha8Rng :: from_os_rng( ) ) ;
69+ gen_bytes ! ( "chacha12" , ChaCha12Rng :: from_os_rng( ) ) ;
70+ gen_bytes ! ( "chacha20" , ChaCha20Rng :: from_os_rng( ) ) ;
6771}
6872
6973// Save a dependency on Rand:
@@ -150,6 +154,9 @@ fn gen_uint(c: &mut Criterion<CyclesPerByte>) {
150154 gen_uint ! ( g, "hc128" , u32 , Hc128Rng :: from_os_rng( ) ) ;
151155 gen_uint ! ( g, "isaac" , u32 , IsaacRng :: from_os_rng( ) ) ;
152156 gen_uint ! ( g, "isaac64" , u32 , Isaac64Rng :: from_os_rng( ) ) ;
157+ gen_uint ! ( g, "chacha8" , u32 , ChaCha8Rng :: from_os_rng( ) ) ;
158+ gen_uint ! ( g, "chacha12" , u32 , ChaCha12Rng :: from_os_rng( ) ) ;
159+ gen_uint ! ( g, "chacha20" , u32 , ChaCha20Rng :: from_os_rng( ) ) ;
153160 }
154161
155162 {
@@ -201,6 +208,9 @@ fn gen_uint(c: &mut Criterion<CyclesPerByte>) {
201208 gen_uint ! ( g, "hc128" , u64 , Hc128Rng :: from_os_rng( ) ) ;
202209 gen_uint ! ( g, "isaac" , u64 , IsaacRng :: from_os_rng( ) ) ;
203210 gen_uint ! ( g, "isaac64" , u64 , Isaac64Rng :: from_os_rng( ) ) ;
211+ gen_uint ! ( g, "chacha8" , u64 , ChaCha8Rng :: from_os_rng( ) ) ;
212+ gen_uint ! ( g, "chacha12" , u64 , ChaCha12Rng :: from_os_rng( ) ) ;
213+ gen_uint ! ( g, "chacha20" , u64 , ChaCha20Rng :: from_os_rng( ) ) ;
204214 }
205215}
206216
@@ -231,6 +241,9 @@ fn init(c: &mut Criterion) {
231241 init_gen ! ( "hc128" , Hc128Rng ) ;
232242 init_gen ! ( "isaac" , IsaacRng ) ;
233243 init_gen ! ( "isaac64" , Isaac64Rng ) ;
244+ init_gen ! ( "chacha8" , ChaCha8Rng ) ;
245+ init_gen ! ( "chacha12" , ChaCha12Rng ) ;
246+ init_gen ! ( "chacha20" , ChaCha20Rng ) ;
234247}
235248
236249criterion_group ! {
0 commit comments