> pourquoi le fait de fonctionner sur des tas de plateformes l'empêche
> de faire correctement son boulot principal.
L'architecture d'un compilo comme GCC, c'est: Plusieurs front-ends, une représentation intermédiaire commune à la fois à tous les languages et à toutes les plateformes (Ca s'appelle RTL dans GCC), une passe d'optimisation commune à tout le monde sur cette représentation, la génération de code, puis des optimisations spécifiques éventuelles après.
Le truc, c'est que sur la passe d'optimisation du milieu, il y a des trucs qui vont arranger certaines plateformes cibles, d'autres pas. Idéalement, ça serait possible d'avoir un optimiseur taillé sur mesure pour chaque plateforme (Disons que le ./configure choisirait les bons morceaux), mais c'est un boulot énorme.
Donc, faire un compilo multiplateformes et efficace, c'est possible, c'est juste plus dur que pour un compilo mono-plateforme.
Autre critère : Quand c'est intel qui fait à la fois la puce et le compilo par exemple, ils ont déjà une idée de la manière dont ils vont compiler le code quand ils font la puce, et réciproquement. Ca aide aussi pas mal.
[^] # Re: Premièr pas ?
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Microsoft se met à l'open-source. Évalué à 1.
> de faire correctement son boulot principal.
L'architecture d'un compilo comme GCC, c'est: Plusieurs front-ends, une représentation intermédiaire commune à la fois à tous les languages et à toutes les plateformes (Ca s'appelle RTL dans GCC), une passe d'optimisation commune à tout le monde sur cette représentation, la génération de code, puis des optimisations spécifiques éventuelles après.
Le truc, c'est que sur la passe d'optimisation du milieu, il y a des trucs qui vont arranger certaines plateformes cibles, d'autres pas. Idéalement, ça serait possible d'avoir un optimiseur taillé sur mesure pour chaque plateforme (Disons que le ./configure choisirait les bons morceaux), mais c'est un boulot énorme.
Donc, faire un compilo multiplateformes et efficace, c'est possible, c'est juste plus dur que pour un compilo mono-plateforme.
Autre critère : Quand c'est intel qui fait à la fois la puce et le compilo par exemple, ils ont déjà une idée de la manière dont ils vont compiler le code quand ils font la puce, et réciproquement. Ca aide aussi pas mal.