Подтвердить что ты не робот

Операция сравнения операторов (>,> =, <, <=)

Если бы вы сравнили два целых числа, повлиял бы оператор на время, необходимое для выполнения сравнения? Например, данный:

if (x < 60)

и

if (x <= 59)

Что обеспечивало бы лучшую производительность, или разница в производительности была бы незначительной? Являются ли результаты производительности языковыми?

Мне часто приходится смешивать использование этих операторов в моем коде. Любые мысли будут оценены.

4b9b3361

Ответ 1

Даже если бы была заметная разница, я думаю, что компиляторы достаточно умны, чтобы заботиться о таких вещах. Поэтому мой совет - использовать то, что делает код более понятным, и оставлять микро-оптимизации для компилятора.

Ответ 2

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

Ответ 4

В производительности почти нет никакой разницы. Для процессоров CISC вы, как правило, имеете всевозможные инструкции ветвления, которые справляются со всей разницей < <= → = и т.д. На RISC может быть очень небольшая разница в производительности, хотя я бы серьезно сомневался в этом!