Je suis surpris pour le PGO je pensais que c'était le cas depuis longtemps. Si j'ai bien compris c'est ce qu'on trouve sur java depuis... 22 ans (j'ai dû chercher).
Comment ça fonctionnait ? En java la compilation est séparée en 2 parties C1 et C2.
C1 est une compilation de java vers le bytecode de la jvm. C'est exécuté par le développeur (c'est le bytecode qui est livré)
C2 se déclenche après le début de l'exécution du programme. Après avoir eu suffisamment de stats venant de l'interprétation du bytecode, hotspot choisi ce qu'il va compiler (en natif) et comment. Il peut ensuite revenir sur ses choix de compilation pour recompiler autrement. C'est l'étape d'interprétation du bytecode qu'on appel la chauffe de la jvm.
Si j'ai bien compris pour C# c'est au démarrage que tu as une compilation native ? Et maintenant il peut choisir de recompiler autrement des parties en fonction d'informations qu'il aura collecté à l’exécution ?
# PGO
Posté par barmic 🦦 . En réponse à la dépêche .NET 6 est sorti - La version la plus rapide à ce jour. Évalué à 6.
Je suis surpris pour le PGO je pensais que c'était le cas depuis longtemps. Si j'ai bien compris c'est ce qu'on trouve sur java depuis... 22 ans (j'ai dû chercher).
Comment ça fonctionnait ? En java la compilation est séparée en 2 parties C1 et C2.
Si j'ai bien compris pour C# c'est au démarrage que tu as une compilation native ? Et maintenant il peut choisir de recompiler autrement des parties en fonction d'informations qu'il aura collecté à l’exécution ?
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll