]> git.lizzy.rs Git - rust.git/blobdiff - library/alloc/benches/vec.rs
Rollup merge of #99079 - compiler-errors:issue-99073, r=oli-obk
[rust.git] / library / alloc / benches / vec.rs
index efc47327e8a86d2fd89b8dec30bf076eb468750f..663f6b9dd1c9c038cbe3fbad3cbcb753329d27ec 100644 (file)
@@ -762,3 +762,23 @@ fn bench_retain_whole_100000(b: &mut Bencher) {
     let mut v = black_box(vec![826u32; 100000]);
     b.iter(|| v.retain(|x| *x == 826u32));
 }
+
+#[bench]
+fn bench_next_chunk(b: &mut Bencher) {
+    let v = vec![13u8; 2048];
+
+    b.iter(|| {
+        const CHUNK: usize = 8;
+
+        let mut sum = [0u32; CHUNK];
+        let mut iter = black_box(v.clone()).into_iter();
+
+        while let Ok(chunk) = iter.next_chunk::<CHUNK>() {
+            for i in 0..CHUNK {
+                sum[i] += chunk[i] as u32;
+            }
+        }
+
+        sum
+    })
+}