Avatar ·

¿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; }