use otter_support::slotmap_slot_idx;
use otter_support::crates::slotmap;
const BATCH: usize = 128;
const ITERS: usize = 10*1024*1024;
fn main() {
let vol_i_buffer = [0x123456789abcdefu64; BATCH];
let mut vol_o_buffer = [0xdeadbeef; BATCH];
for _it in 0..ITERS {
let input = unsafe { std::ptr::read_volatile(&vol_i_buffer) };
let mut output = [0u32; BATCH];
for (&i,o) in input.iter().zip(output.iter_mut()) {
let kd = slotmap::KeyData::from_ffi(i);
let (vsn,_) = slotmap_slot_idx::KeyDataExt::get_idx_version(kd);
*o = vsn;
}
unsafe { std::ptr::write_volatile(&mut vol_o_buffer, output) };
}
}