4 ms·
Two questions. uint64_t is 8 bytes, not 16. Why are you overreading up to 15? How did you conclude that the test hurt performance? I have researched this for
by fefe23 6y ago
Two questions.
uint64_t is 8 bytes, not 16. Why are you overreading up to 15?
How did you conclude that the test hurt performance? I have researched this for over a decade and my conclusion is that the bounds check is for all intents and purposes free, because it is hidden in the latency of the actual memory access (even if it comes from L1 cache). The only way the bounds check can ever hurt performance is if it adds additional memory reads.
That would indicate that you don't have a memory access for the upper bound at all currently, which sounds like you could overread an arbitrary amount, not just up to 15 bytes.