Ответ 1
Микро-оптимизация - это почти всегда неправильная работа. Даже не запускайте его, если программа работает слишком медленно, и вы используете профилировщик, чтобы точно определить, где находятся медленные части.
Как только вы это сделаете, я советую посмотреть, как улучшить код и местоположение данных, потому что промахи в кеше почти наверняка хуже, чем субоптимальные инструкции.
Это делается в довольно странном случае, когда вы можете использовать либо подход, основанный на назначении, либо метод сравнения, попробуйте оба и время их. Микро-оптимизация - игра чисел. Если числа недостаточно хороши, узнайте, почему, а затем убедитесь, что то, что вы делаете, действительно работает.
Итак, что вы понимаете под сравнением? Условные переходы вызывают проблемы для любого смутно современного процессора, но разные процессоры делают разные вещи, и нет никакой гарантии, что любой из них замедлит работу. Кроме того, если какой-либо из них приводит к промаху в кеше, это, вероятно, медленнее, независимо от того, что.
Наконец, языки обычно скомпилированы в машинный код, и простые вещи, такие как сравнения и назначения, обычно будут скомпилированы одинаково. Большая разница будет типом процессора.