мне лень проверять, но он сравнивает структуры int , long, и long long. В зависимости от компилятора и операционки они имеют разный размер.
Во вторых есть подозрение, что компилятор может сильно оптимизировать код и вообще не использовать память, а всё сделать в регистрах. В третьих у него последовательный доступ к массиву в памяти, в этом случае очень эффективно работает предзагрузка памяти.
Нужно проверять рандомный доступ.
В общем у мну большие сомнения в правильности его теста. Но я не исключаю что не которые производители, для некорых процессоров сделали оптимизацию. Но возникает вопрос зачем, если можно легко сказать компилятору чтобы выравнивал 4/8 байтные данные.