¿Operador < más rápido que <=? Comparación de rendimiento en C++
¡Hola a todos! Soy un desarrollador principiante de C++ y tengo una pregunta sobre el rendimiento de los operadores de comparación.
Estoy escribiendo un bucle que itera sobre un array de 10 millones de elementos y necesito realizar alguna acción mientras el índice sea menor o igual a un cierto valor. Estoy usando `for (int i = 0; i <= n; i++)`. Pero mi colega dijo que es mejor usar `i < n + 1`, porque el operador `<` es más rápido que `<=`. Él afirma que a nivel de ensamblador, `<` se ejecuta en un ciclo de CPU, mientras que `<=` toma dos, porque la CPU necesita verificar adicionalmente la igualdad.
Probé ambas opciones en mi código:
```cpp
#include
#include
const int N = 10000000;
void test_less_equal() {
int sum = 0;
for (int i = 0; i <= N; ++i) {
sum += i;
}
std::cout << sum << std::endl;
}
void test_less() {
int sum = 0;
for (int i = 0; i < N + 1; ++i) {
sum += i;
}
std::cout << sum << std::endl;
}