Selon les accusations d'un développeur : changeriez-vous de compilateur si c'était le cas ?
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 :




Et vous ?

Vous avez lu gratuitement 635 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.