Il ne faut pas oublier qu'un humain qui programme en C organise, structure son code et son algorithme en fonction d'une représentation, d'une typologie et pour être plus exacte, dans une ontologie qui reste humaine, et n'est donc pas forcément adapté à la machine.
Un programmeur système qui cherche à optimiser une routine connaît la machine sur le bout des doigts et ne raisonne pas comme un architecte objet qui sort de l'école.
Je te conseille de lire le bouquin de Michaël Abrash qu'il a rendu disponible sur Internet à ce sujet (http://www.gamedev.net/reference/articles/article1698.asp(...) ), notamment le premier chapitre : « The Best Optimizer is between Your Ears ». Il date un peu, mais il permet de comprendre que les machines seront encore pour un bout de temps à la traîne derrière les humains quand il s'agit d'optimisation.
Tu peux alors concevoir ton compilo, de sorte qu'il analyse le code et - pour la copie par exemple - t'optimise tout en 32 bits ou 64...
C'est marrant, tu réponds exactement à la quote de John Carmack que j'ai citée dans mon post précédent, qui disait justement qu'un compilateur était incapable de le faire aussi bien qu'un humain.
Ne laissez jamais un humain faire le travail d'un programme...
[^] # Re: C'est encore programmé en C ?!
Posté par Frédéric Lopez . En réponse à la dépêche Le moteur du jeu Quake 3 en GPL. Évalué à 4.
Un programmeur système qui cherche à optimiser une routine connaît la machine sur le bout des doigts et ne raisonne pas comme un architecte objet qui sort de l'école.
Je te conseille de lire le bouquin de Michaël Abrash qu'il a rendu disponible sur Internet à ce sujet (http://www.gamedev.net/reference/articles/article1698.asp(...) ), notamment le premier chapitre : « The Best Optimizer is between Your Ears ». Il date un peu, mais il permet de comprendre que les machines seront encore pour un bout de temps à la traîne derrière les humains quand il s'agit d'optimisation.
C'est marrant, tu réponds exactement à la quote de John Carmack que j'ai citée dans mon post précédent, qui disait justement qu'un compilateur était incapable de le faire aussi bien qu'un humain.
Ça, ça n'est valable que dans Matrix... ;)