De nos jours, les compilateurs font à la fois beaucoup et très peu. Beaucoup, parce qu'ils font pas mal de transformations sur le programme; très peu, parce que ce qui sort au niveau de la recherche est implémenté au moins 10 ans plus tard dans les compilateurs. Et puis surtout, même s'ils tiennent un peu compte des threads, les compilateurs sont quand même extrêmement axés mono-processeur. Ils optimisent à fond dans une optique séquentielle, alors que désormais il faudrait plutôt penser parallèle -- surtout quand la cible est un processeur multicoeur. :)
De plus, sauf si tu prends icc (ou peut-être le compilateur de MS, je ne sais pas), gcc vectorise encore très mal (voire pas), avec un choix d'instructions SSE pas forcément judicieux. Les applications « vraiment optimisées pour un cpu donné » y'en a pas tant que ça -- il y en a, bien sûr, et heureusement ! Mais l'optimisation pour un processeur donné empêche la portabilité dans beaucoup de cas, et demande une maintenance par plate-forme, ce qui est quand même assez contraignant.
[^] # Re: Prix public?
Posté par lasher . En réponse à la dépêche Emtec lance le programme One Laptop Per Hacker. Évalué à 2.
De plus, sauf si tu prends icc (ou peut-être le compilateur de MS, je ne sais pas), gcc vectorise encore très mal (voire pas), avec un choix d'instructions SSE pas forcément judicieux. Les applications « vraiment optimisées pour un cpu donné » y'en a pas tant que ça -- il y en a, bien sûr, et heureusement ! Mais l'optimisation pour un processeur donné empêche la portabilité dans beaucoup de cas, et demande une maintenance par plate-forme, ce qui est quand même assez contraignant.