Optimisation de code - C++ - Programmation
Marsh Posté le 17-12-2016 à 10:27:38
Déjà, commence par mettre des else devant les if (sauf le premier).
Marsh Posté le 17-12-2016 à 12:34:58
Fortement optimisable avec des LUT, même si le compilo le fait peut être tout seul.
Marsh Posté le 17-12-2016 à 16:49:41
rufo a écrit : Déjà, commence par mettre des else devant les if (sauf le premier). |
D'accord merci.
h3bus a écrit : Fortement optimisable avec des LUT, même si le compilo le fait peut être tout seul. |
C'est quoi les LUT?
Marsh Posté le 17-12-2016 à 19:08:43
LUT = Lookup table
tu pourrais avoir un des tableaux qui représentent des conditions de victoire. Exemple :
Code :
|
L'avantage, c'est que tu retire la plupart de test tests et de tes branches dans ton code. Le problème, c'est que tu utilises plus de mémoire.
Quand on considère les optimisations, c'est souvent une question de compromis. Tu peux souvent gagner du temps de calcul en mettant plus d'info en mémoire, mais accéder à cette mémoire a aussi un coût. C'est à toi, dans ton contexte, de trouver le bon équilibre entre l'utilisation mémoire et le volume de calculs que tu as à faire.
Marsh Posté le 17-12-2016 à 19:18:39
theshockwave a écrit : LUT = Lookup table
|
Merci je retiens cette méthode, mais comme bon débutant je vais rester simple pour l'instant. Merci de votre aide
Marsh Posté le 17-12-2016 à 19:35:08
_c'est_ simple.
Sinon si tu veux rester sur ton code à base de elseif, tu pourrais factoriser un peu
Code :
|
de cette manière, tu réduis considérablement le nombre de tests réalisés avant d'arriver sur la partie qui s'occupe du cas en question.
L'étape d'optimisation d'après étant effectivement de passer à la lookup table. Ça s'y prête, tu n'as pas de raison de t'en priver.
Marsh Posté le 16-12-2016 à 23:08:45
Yo, est-ce que ce code est optimisable?
Surtout tout ces If qui apparaissent. Merci
---------------
Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide. – Albert Einstein