Skip to content

Commit 3a767c0

Browse files
committed
TEST: Add benchmarks for collect
Test both String (with drop) and f64 (Copy type), compare Array to Vec::from_iter.
1 parent 3ea6861 commit 3a767c0

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

benches/bench1.rs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,38 @@ fn add_2d_alloc_zip_collect(bench: &mut test::Bencher) {
286286
});
287287
}
288288

289+
#[bench]
290+
fn vec_string_collect(bench: &mut test::Bencher) {
291+
let v = vec![""; 10240];
292+
bench.iter(|| {
293+
v.iter().map(|s| s.to_owned()).collect::<Vec<_>>()
294+
});
295+
}
296+
297+
#[bench]
298+
fn array_string_collect(bench: &mut test::Bencher) {
299+
let v = Array::from(vec![""; 10240]);
300+
bench.iter(|| {
301+
Zip::from(&v).apply_collect(|s| s.to_owned())
302+
});
303+
}
304+
305+
#[bench]
306+
fn vec_f64_collect(bench: &mut test::Bencher) {
307+
let v = vec![1.; 10240];
308+
bench.iter(|| {
309+
v.iter().map(|s| s + 1.).collect::<Vec<_>>()
310+
});
311+
}
312+
313+
#[bench]
314+
fn array_f64_collect(bench: &mut test::Bencher) {
315+
let v = Array::from(vec![1.; 10240]);
316+
bench.iter(|| {
317+
Zip::from(&v).apply_collect(|s| s + 1.)
318+
});
319+
}
320+
289321

290322
#[bench]
291323
fn add_2d_assign_ops(bench: &mut test::Bencher) {

0 commit comments

Comments
 (0)