Извините, если вопрос очень наивный.
Я должен буду проверить условие ниже в моем коде
0
т.е. код похож на if(x > 0 && x < y)
Основная проблема на системном уровне - в настоящее время для каждого звонка (терминология домена Telecom) мой существующий код срабатывает (много раз). Таким образом, производительность очень важна. Теперь мне нужно добавить проверку для проверки границ (во многих местах - но разные сравнения границ в каждом месте).
При очень нормальном уровне кодирования приведенное выше сравнение выглядело бы очень наивно без каких-либо проблем. Однако при добавлении в мой модуль статистики (который многократно опускается) производительность снижается.
Итак, я хотел бы знать, как лучше всего справиться с описанным выше сценарием (своего рода оптимальный способ проверки пределов). Как, например, если сравнение битов работает лучше, чем обычное сравнение, или сравнение может быть выполнено за более короткий промежуток времени?
Другая информация
x - целое число без знака (которое должно быть проверено, чтобы быть больше 0 и меньше y).
у - целое число без знака.
у неконстантный и меняется для каждого сравнения.
Здесь время - это ограничение по сравнению с пространством.
Язык - C ++.
Теперь, позже, если мне понадобится изменить атрибут y на число с плавающей запятой / double, будет ли другой способ оптимизировать проверку (т. Е. Будет ли предложенный оптимальный метод для целых чисел станет неоптимальным решением, когда y будет заменен на float /double).
Заранее спасибо за любой вклад.
PS: используется ОС SUSE 10 64-битная x64_64, AIX 5.3 64-битная, HP UX 11.1 A 64.