2 ms·
The more likely explanation is that the test is bunk. Or maybe the unsafe access acts like volatile in C and disables any optimization/reordering because the c
by pantalaimon 4y ago
The more likely explanation is that the test is bunk.
Or maybe the unsafe access acts like volatile in C and disables any optimization/reordering because the compiler thinks it’s accessing a register.
- Jweb_Guru 4y agoUnsafe accesses do not act that way, they compile to exactly the same code as array accesses in C. The tests aren't bunk. There are a variety of reasons why the assertions generated by array index checks can be useful for LLVM, and there is also a fair amount of noise in any end to end test like this. The main point is that it clearly isn't a primary bottleneck (which should be pretty obvious in a test that takes 30 ms and performs under 2000 bounds checks).