Closed nyurik closed 1 year ago
Turns out there is ~25%~ about 8% difference in this:
let data = (0..100).map(|v| v).collect::<Vec<_>>(); c.bench_function("micro", |b| { b.iter(|| { for i in 0..data.len() / 2 { let key_idx = data[i * 2]; let value_idx = data[i * 2 + 1]; black_box(i); black_box(key_idx); black_box(value_idx); } }); }); c.bench_function("micro2", |b| { b.iter(|| { for (i, pair) in data.chunks(2).enumerate() { let [key_idx, value_idx] = pair else {unreachable!()}; black_box(i); black_box(*key_idx); black_box(*value_idx); } }); });
Turns out there is ~25%~ about 8% difference in this: