[gull] cours C++

Daniel Cordey dc at mjt.ch
Mon Mar 6 13:35:16 CET 2006


On Thursday 02 March 2006 13:49, Leopoldo Ghielmetti wrote:

> Les procedures sont celles qui se comportent comme n'importe quelle
> fonction C qui ne retourne pas de valeur et je les entoure par
> do{...}while(0) 

En etant conscient que si la macro est incluse dans une boucle, un test 
suplementaire sera effectue a chaque fois + branchement. Suivant les 
architectures et les compilateurs, les "branch-prediction" peuvent etre assez 
differents et engendrer des variations de performances qu'il n'est pas facile 
a expliquer a premiere vue. C'est souvent assez "radical" sur les processeurs 
avec un long "pipeline". Maintenant, il se peut que l'optimiseur soit assez 
intelligent pour detecter l'utilisation de la constante '0' dans le test et 
supprimer la generation de l'encapsulation du bloc. Je sais que pas mal 
d'optimisation a ce niveau existe dans l'analyse des boucle 'for', mais je ne 
suis pas pesuade que cela soit aussi le cas dans les do-while. Donc, 
attention...

dc



More information about the gull mailing list