Skip to content

Commit 82971a3

Browse files
committed
temp
1 parent ae23929 commit 82971a3

File tree

2 files changed

+177
-104
lines changed

2 files changed

+177
-104
lines changed

benches/uniform.rs

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,24 @@ fn uniform_int(c: &mut Criterion) {
8686
bench_int!(c, i128, (i128::MIN, 1));
8787
}
8888

89+
#[cfg(feature = "simd_support")]
90+
macro_rules! bench_dist_simd_group {
91+
($name:literal, $T:ty, $f:ident, $g:expr, $inputs:expr) => {
92+
for input in $inputs {
93+
$g.bench_with_input(
94+
BenchmarkId::new($name, input.0),
95+
&input.1,
96+
|b, (low, high)| {
97+
let mut rng = BenchRng::from_entropy();
98+
let (low, high) = (<$T>::splat(*low), <$T>::splat(*high));
99+
let dist = Uniform::new_inclusive(low, high);
100+
b.iter(|| <$T as SampleUniform>::Sampler::$f(&dist.0, &mut rng))
101+
},
102+
);
103+
}
104+
};
105+
}
106+
89107
#[cfg(feature = "simd_support")]
90108
macro_rules! bench_simd_group {
91109
($name:literal, $T:ty, $f:ident, $g:expr, $inputs:expr) => {
@@ -114,20 +132,21 @@ macro_rules! bench_simd_group {
114132
#[cfg(feature = "simd_support")]
115133
macro_rules! bench_simd {
116134
($c:expr, $T:ty, $high:expr/*, $incr:expr*/) => {{
117-
let mut g = $c.benchmark_group(concat!("uniform_simd_", stringify!($T)));
118135
let inputs = &[("high_reject", $high), ("low_reject", (-1, 2))];
119136

137+
let mut g = $c.benchmark_group(concat!("uniform_dist_simd_", stringify!($T)));
138+
bench_dist_simd_group!("Old", $T, sample, g, inputs);
139+
bench_dist_simd_group!("Canon", $T, sample_canon, g, inputs);
140+
bench_dist_simd_group!("Canon-Lemire", $T, sample_canon_lemire, g, inputs);
141+
bench_dist_simd_group!("Bitmask", $T, sample_bitmask, g, inputs);
142+
drop(g);
143+
144+
let mut g = $c.benchmark_group(concat!("uniform_int_", stringify!($T)));
120145
bench_simd_group!("Old", $T, sample_single_inclusive, g, inputs);
121146
bench_simd_group!("Canon", $T, sample_single_inclusive_canon, g, inputs);
122-
bench_simd_group!(
123-
"Canon-branchless",
124-
$T,
125-
sample_single_inclusive_canon_branchless,
126-
g,
127-
inputs
128-
);
129-
bench_simd_group!("Canon-scalar", $T, sample_inclusive_canon_scalar, g, inputs);
147+
bench_simd_group!("Canon-Lemire", $T, sample_inclusive_canon_lemire, g, inputs);
130148
bench_simd_group!("Bitmask", $T, sample_single_inclusive_bitmask, g, inputs);
149+
131150
}};
132151
}
133152

@@ -138,11 +157,11 @@ fn uniform_simd(c: &mut Criterion) {
138157
bench_simd!(c, i8x2, (i8::MIN, 116));
139158
bench_simd!(c, i8x4, (i8::MIN, 116));
140159
bench_simd!(c, i8x8, (i8::MIN, 116));
141-
bench_simd!(c, i8x16, (i8::MIN, 116));
142-
bench_simd!(c, i8x32, (i8::MIN, 116));
143-
bench_simd!(c, i8x64, (i8::MIN, 116));
160+
// bench_simd!(c, i8x16, (i8::MIN, 116));
161+
// bench_simd!(c, i8x32, (i8::MIN, 116));
162+
// bench_simd!(c, i8x64, (i8::MIN, 116));
144163
bench_simd!(c, i16x8, (i16::MIN, 32407));
145-
bench_simd!(c, i16x16, (i16::MIN, 32407));
164+
// bench_simd!(c, i16x16, (i16::MIN, 32407));
146165
bench_simd!(c, i32x4, (i32::MIN, 1));
147166
bench_simd!(c, i32x8, (i32::MIN, 1));
148167
bench_simd!(c, i64x2, (i64::MIN, 1));

0 commit comments

Comments
 (0)