Avatar ·

Operador < é mais rápido que <=? Comparação de desempenho em C++

Olá a todos! Sou um desenvolvedor C++ iniciante e tenho uma dúvida sobre o desempenho dos operadores de comparação. Estou escrevendo um loop que percorre um array de 10 milhões de elementos e preciso executar alguma ação enquanto o índice for menor ou igual a um determinado valor. Estou usando `for (int i = 0; i <= n; i++)`. Mas meu colega disse que é melhor usar `i < n + 1`, porque o operador `<` é mais rápido que `<=`. Ele afirma que no nível de assembly, `<` é executado em um ciclo de clock da CPU, enquanto `<=` leva dois ciclos, porque a CPU precisa verificar adicionalmente a igualdade. Tentei ambas as opções no meu 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; }