Bonjour,
J ai testé un code :
While (time(NULL) < 10 ) {
Var *= 1.2;
I++;
}
Je regarde combien de fois je rentre dans la boucle en 10 seconde. Et je remarque que lorsque je compile avec l option -O2 je vais 10 fois plus dans la boucle ce qui m a beaucoup étonné.
Je me suis renseigné sur l option -O2 et je suis tombé sur ça :
Optimize even more. GCC performs nearly all supported optimizations that do not involve a space-speed tradeoff. The compiler does not perform loop unrolling or function inlining when you specify -O2
Dans mon code je n utilise pas de fonction inline bien que la fonction inline fait gagner du temps car on évite des saut d adresse donc je suis étonné. Mais j ai bien une boucle, et je ne comprend pas comment il arrive à optimiser la vitesse d exécution de mon programme en supprimant la boucle?
Je précise que j ai déjà fait un peu d assembleur.
Merci d avance pour votre aide
-----