Operateur logique le + rapide [Résolu]

Signaler
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonsoir,
je suis en train de me demander quelle est l'operateur logiques le + rapide,
ex:
Est t'il plus rapide de faire:
if(a != b) return 0;
ou
if(a ^ b) return 0;

de meme est t'il plus rapide de faire:
if(a == b) return 0;
ou
if(!(a ^ b)) return 0;
??

Neo_Fr

5 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
C'est idem.

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
Les opérateurs logiques sont à 1 cycle sur opérandes de taille de registre, donc...
Faut avoir à l'esprit que ce n'est pas le test de sortie d'une fonction qui influe sur sa vitesse globale.

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
if(a != b) return 0;
dépend du 'else'

je ferais direct
return (a - b);

ciao...
BruNews, MVP VC++
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Il n'y a pas de else ds mon cas, je doit juste verifier le + rapidement possible si a est different de b..
En bref est-ce que l'operateur '^' est plus ou moins rapide que '!=' ?

Neo_Fr
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Pour determiner si a et b sont different il n'y a pa d'operateur + rapide que xor ??

Neo_Fr