[SOS] Petit OS à la Linux en C++
Bombela
bombela at free.fr
Sam 17 Juin 10:43:58 CEST 2006
Si ça t'intéresse, tu regarderas le code assembleur généré par la
fonction memcpy() (dans sos par exemple) sur IA32 et tu regarderas
du coté de l'instruction « movb, movsw, movsd » (rep + movsX). Tu
verras que le nombre des accès mémoire est nettement réduit par ce
couple d'instructions.
Je suis tout de même d'accord pour dire que ce n'est que par souci
de performances.
J'ai fait beaucoup de test de compilation C avec GCC vs assembleur.
Je peux te dire qu'une compilation faite par gcc avec les optimisations
maximums activée, génère un code
très très optimisé en assembleur.
Je ne pense pas être un programmeur assembleur de génie, mais j'ai
toujours essayé de pondre
le code le plus optimisé possible (Sinon, quel interret de s'essayer à
l'asm !).
Et bien GCC ma toujours battu, mais attention, ne pas oublier les
optimisations maximum !
GCC peut bien sûr avoir quelque "ratée", c'est un logiciel qui
s'améliore en permanence.
Mais dire que l'on peut rivaliser avec GCC est un doux rêve...
Si je parle seulement de GCC, c'est que je n'ai testé qu'avec lui, et
qu'un autre compilateur peux réagir différemment...
Voilà, mes 2cents...
Bombela
Plus d'informations sur la liste de diffusion Sos