Skip to content

Commit 5bb72ac

Browse files
committed
Add ChaCha RNGs to benchmarks
1 parent 945d403 commit 5bb72ac

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

benches/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ publish = false
99
criterion = "0.5.0"
1010
criterion-cycles-per-byte = "0.6"
1111
rand_core = { version = "0.9.0", features = ["os_rng"] }
12+
rand_chacha = { path = "../rand_chacha", version = "0.9" }
1213
rand_xoshiro = { path = "../rand_xoshiro", version = "0.7" }
1314
rand_isaac = { path = "../rand_isaac", version = "0.4" }
1415
rand_xorshift = { path = "../rand_xorshift", version = "0.4" }

benches/mod.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ use criterion::{criterion_group, criterion_main, Criterion, Throughput};
1818
use criterion_cycles_per_byte::CyclesPerByte;
1919
use rand_core::{RngCore, SeedableRng};
2020

21+
use rand_chacha::{ChaCha12Rng, ChaCha20Rng, ChaCha8Rng};
2122
use rand_hc::Hc128Rng;
2223
use rand_isaac::{Isaac64Rng, IsaacRng};
2324
use 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

236249
criterion_group! {

0 commit comments

Comments
 (0)