L'opérateur < est-il plus rapide que <= ? Comparaison de performances en C++
Bonjour à tous ! Je suis un développeur C++ débutant et j'ai une question concernant les performances des opérateurs de comparaison.
J'écris une boucle qui parcourt un tableau de 10 millions d'éléments, et je dois effectuer une action tant que l'index est inférieur ou égal à une certaine valeur. J'utilise `for (int i = 0; i <= n; i++)`. Mais mon collègue a dit qu'il vaut mieux utiliser `i < n + 1`, car l'opérateur `<` est plus rapide que `<=`. Il affirme qu'au niveau assembleur, `<` s'exécute en un cycle d'horloge, alors que `<=` en prend deux, car le processeur doit vérifier l'égalité en plus.
J'ai essayé les deux variantes dans mon code :
```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;
}
No answers yet.
Connectez-vous pour laisser une réponse