Я немного читал, пытаясь лучше понять побитовые операторы, и наткнулся на полезный старый пост в блоге за 2012 год , в котором говорилось, что - в тесте с нечетным числом на случайной, положительной, целочисленной x - оценке x & 1
был на 60% быстрее на компьютере автора, чем оценка x % 2
. Вещи, которые я читал где-то в Интернете (в том числе на SO), подтверждают, что побитовый оператор работает быстрее.
Раньше я никогда не писал тесты производительности в jsperf, но мне было интересно проверить это, чтобы увидеть, какая разница была в Javascript. Я был удивлен, обнаружив, после тестирования на нескольких различных браузерах и устройствах, что по модулю, похоже, быстрее, чем нет.
Результаты
Chrome на Chromebook

Chrome на Huawei P8

Chrome на Macbook Pro

Firefox на Macbook Pro

Safari на Macbook Pro

Safari на Macbook Air

Я запускал каждый тест несколько раз, чтобы проверить, соответствуют ли результаты. На FF и Chrome были постоянные победители, хотя у Safari было больше шансов.
Поскольку у меня вообще нет опыта тестирования производительности, я как-то плохо написал тесты? Если нет, то может ли быть так, что современные устройства и браузеры как-то приводят к лучшей производительности для оператора модуля, чем для побитового И (или незначительной разницы в производительности)? Это даже подходящий способ для сравнения?
Или происходит что-то еще, чего я еще не понимаю? (скорее всего!)