Le compilateur d'Intel est reconnu par beaucoup de programmeurs comme un, si ce n'est le, meilleur compilateur actuellement disponible.
Son utilisation pour de nombreuses applications critiques, notamment scientifiques, confirme cette impression qui s'appuie par ailleurs grandement sur des librairies constamment optimisées et améliorées par le fondeur.
Mais certains des fans du compilateur d'Intel auraient levé un lièvre.
"Les logiciels [ainsi] compilés montrent des performances inférieures s'ils tournent avec des microprocesseurs AMD ou VIA", affirme ainsi Agner For.
Cet état de fait serait parfaitement volontaire. Le compilateur d'Intel détecte le CPU sur lequel l'application devra tourner puis choisit la librairie appropriée pour optimiser la compilation. Mais cette phase d'analyse du proc irait jusqu'à identifier la marque.
Dans le cas d'une puce AMD, le compilateur choisirait volontairement une librairie non-optimisée à la place d'une librairie, pourtant présente, qui le serait. Pire, le compilateur choisirait la version la plus lente.
Cette fonction d'analyse du CPU et de choix de librairie qui en découle s'appelle le "CPU dispatcher".
"Si Intel disait que son compilateur n'est compatible qu'avec ses puces, il n'y aurait strictement rien à redire", souligne Agner Fog, "le problème c'est qu'ils essayent de cacher la vérité. Beaucoup de développeurs pensent que ce compilateur est compatible avec les produits AMD – ce qu'il est effecitvement – mais ce qu'ils ne savent pas toujours c'est qu'il embarque un CPU dispatcher complètement biaisé qui choisira de faire tel ou tel code selon que le processeur sera un Intel ou pas."
Et de conclure : "si les programmeurs savaient cela, ils choisiraient certainement de changer de compilateur".
Allez-vous changer de compilateur ?
Source : Le billet et les accusations de Agner Fog
Lire aussi :
Poursuites engagées contre Intel accusé de "corruption" par la Federal Trade Commission, malgré l'accord de non-agression avec AMD
Pour un compilateur intelligent : les propositions de l’Union Européenne et IBM Research
Programmation : Le pire bout de code que vous ayez vu : Qui l'a fait ? Pourquoi ? Pourquoi était-il si horrible ?
La rubrique Hardware de Développez
Et vous ?
Pensez-vous que le CPU dispatcher du compilateur d'Intel soit biaisé ?
"Intel bride son compilateur pour porter préjudice à AMD"
Accuse un développeur : changeriez-vous de compilateur si c'était le cas ?
"Intel bride son compilateur pour porter préjudice à AMD"
Accuse un développeur : changeriez-vous de compilateur si c'était le cas ?
Le , par Gordon Fowler
Une erreur dans cette actualité ? Signalez-nous-la !