Какая проверка работает быстрее?
Какая проверка работает быстрее?
Которая вызывает переход, предсказанный предсказателем переходов (поскольку ветвь по которой пойдет код уйдет в конвеер)
Если в контексте PHP/Python/Ruby то разницы нету вообще, потому что поток команд формируется по мере выполнения и в итоге не особо получится что-то такое разруливать и тут вообще пофигу какое из перечисленных условий вы будете выполнять. А если говорить о java/javascript/c#/c++/etc то тут большее значение имеет то, как часто будет срабатывать одна или другая ветвь кода. Скажем если условие всегда выполняется или не выполняется, то современный процессор будет после первых двух итераций всегда угадывать какая ветвь кода будет грузиться и оверхэда вообще не будет. Не знаю как на AMD но на интеловских так же неплохо работает предсказание того, что ветви будут выполняться по переменно, один раз одна, другой раз другая.
Так что совсем не важно что будет выполняться в условии. Важно что бы это было предсказуемо, поддавалось каким-то шаблонам. И тогда это будет максимально производительно. А сама операция сравнения это одна операция. и не важно какая это будет операция. Намного важнее что бы весь поток команд который идет на выполнение был в кеше процессора.
И да, если это вообще разовое условие то можно просто забить. Это важно только в циклах.
в интерпретаторе быстрее работают с одним символом, в компиляторе не видно разницы: на такого вида операции ставнения имеюзся ениничные команды процессора.