Skip to content

Commit c3396c0

Browse files
committed
Add benchmarks for clone
1 parent 70cefce commit c3396c0

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

benches/bench.rs

+28
Original file line numberDiff line numberDiff line change
@@ -206,3 +206,31 @@ bench_suite!(
206206
iter_ahash_random,
207207
iter_std_random
208208
);
209+
210+
macro_rules! bench_clone {
211+
($name:ident, $maptype:ident, $keydist:expr) => {
212+
#[bench]
213+
fn $name(b: &mut Bencher) {
214+
let mut m = $maptype::default();
215+
let mut m2 = $maptype::default();
216+
for i in ($keydist).take(SIZE * 10) {
217+
m.insert(i, i);
218+
}
219+
220+
b.iter(|| {
221+
m2.clone_from(&m);
222+
black_box(&mut m2);
223+
})
224+
}
225+
};
226+
}
227+
228+
bench_suite!(
229+
bench_clone,
230+
clone_ahash_serial,
231+
clone_std_serial,
232+
clone_ahash_highbits,
233+
clone_std_highbits,
234+
clone_ahash_random,
235+
clone_std_random
236+
);

0 commit comments

Comments
 (0)