Il y a un gros socle commun, mais il clairement des différences entre les modèles. En utilisant les options qui ciblent du matériel spécifique, tu rends ton programme potentiellement incompatible avec les modèles précédents ou concurrents parce que ce matériel n'aura pas nécessairement les instructions que ces options génèrent.
Ou tout simplement, des optimisations qui rendent le code rapide / efficace pour ce modèle ne le sont pas forcément, voire causent des ralentissements sur un autre (en théorie possible, je ne sais pas si ça arrive en vrai).
Après, il existe des détections de fonctionnalités à l'exécution, c'est ce que font pas mal les compilateurs Just In Time avancés il me semble (JavaScript, Java (?)). C'est certainement possible avec des langages compilés, mais attention à la taille du code, un truc trop gros peut ne pas tenir dans le cache et le résultat est plus lent...
[^] # Re: Compilateur utilisé & séparation libre-non-libre
Posté par raphj (site web personnel) . En réponse au journal Un mois avec Clear Linux. Évalué à 2. Dernière modification le 05 avril 2021 à 21:04.
Il y a un gros socle commun, mais il clairement des différences entre les modèles. En utilisant les options qui ciblent du matériel spécifique, tu rends ton programme potentiellement incompatible avec les modèles précédents ou concurrents parce que ce matériel n'aura pas nécessairement les instructions que ces options génèrent.
Ou tout simplement, des optimisations qui rendent le code rapide / efficace pour ce modèle ne le sont pas forcément, voire causent des ralentissements sur un autre (en théorie possible, je ne sais pas si ça arrive en vrai).
Après, il existe des détections de fonctionnalités à l'exécution, c'est ce que font pas mal les compilateurs Just In Time avancés il me semble (JavaScript, Java (?)). C'est certainement possible avec des langages compilés, mais attention à la taille du code, un truc trop gros peut ne pas tenir dans le cache et le résultat est plus lent...