($a % 2) или ($a & 1) - на сколько быстрее

mail_makc

aka MaxGR
($a % 2) или ($a & 1) - на сколько быстрее

Как по Вашему что быстрее и на СКОЛЬКО проверяет на нечетность?

1. if ($a % 2) нечет; else чет;
2. if ($a & 1) нечет; else чет;

Знающие люди советуют второй вариант, так как оно побитовое выражение, а первое выполняет вычисление типа: $a-$a/2*2

P.S. Тупой вопрос, но просто интересно чужое мнение.
 

Crazy

Developer
Ты можешь представить себе реальную ситуацию, когда эта разница будет иметь хоть какое-то значение? :)
 

Demiurg

Guest
Ты думаешь что сильно оптимизируешь код за счет разницы во времени исполнения этих 2 методов ?
Все равно, что спрашивать, что быстрее
2+5 или 5+2
 

mail_makc

aka MaxGR
Поэтому я и написал, что вопрос тупой. :)
Мол не стоит напрягаться, если не интересно...

Но все-таки, первый вариант для определения четности использует кучку арифметических действий (среди которых есть и деление и умножение), так что второй способ должен быть пошустрее... Но вот только как узнать на сколько...

Как вариант можно создать цикл, в цикле проверять счетчик и по времени работы (по таймеру) определить на сколько быстрее это дело.

А вот в количестве выполняемых процессором операций: на сколько один вариант длинней второго? ;)

P.S. Вот меня сегодня колбасит на идиотские размышления... :)
 

HEm

Сетевой бобер
столько времени было потрачено вместо того чтобы написать 4 строчки кода и проверить самому
 

Demiurg

Guest
1 вариант :
Concurrency Level: 10
Time taken for tests: 1.545 seconds
Complete requests: 500
Failed requests: 0
Total transferred: 83498 bytes
HTML transferred: 503 bytes
Requests per second: 323.62
Transfer rate: 54.04 kb/s received



2 вариант
Concurrency Level: 10
Time taken for tests: 1.545 seconds
Complete requests: 500
Failed requests: 0
Total transferred: 83498 bytes
HTML transferred: 503 bytes
Requests per second: 323.62
Transfer rate: 54.04 kb/s received

это один из результатов, числа все время меняются в ту и в другую сторону. Так что думаю теперь понятно вся бессмысленость обсуждения ?
 

Ямерт

The Old One
- Offtopic -
Мне бы твои проблемы.
Аха, и мне бы. Завтра утром систему на продукцию выкладывать, дел непочатый край - и на самом интересном месте в очередной раз падает благословенный MySQL...
 
Сверху