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).
Quant au PGO, il est encore facultatif. Il est intéressant pour les applications qui s'exécutent longtemps (comme une application Web). Il optimise le code selon son usage à l'exécution.
Comment ça fonctionnait ? En java la compilation est séparée en 2 parties C1 et C2.
C'est pareil, sauf que ça s'appelle l'IL (ou MSIL) pour Intermediate Language.
Ensuite, le code executé (et non pas toute l'application en une seule fois) est JITé.
Le résultat de la compilation JIT est gardé en mémoire.
Traditionnellement à la place de la PGO et de l'AOT, C# expose plus d'APIs et de types bas niveau pour pouvoir optimiser le code utilisateur ainsi que code de la bibliothèque standard (comme Span qui est super rapide, le mot clé ref, stackalloc, ...).
Ici, il est clair que dotnet est en train de jouer à rattraper le train côté optimisation de la VM.
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)
[^] # Re: PGO
Posté par xcomcmdr . En réponse à la dépêche .NET 6 est sorti - La version la plus rapide à ce jour. Évalué à 3.
Et encore, y'a même pas d'AOT. Alors que ça existe déjà en Java depuis 2019 au moins.
Quant au PGO, il est encore facultatif. Il est intéressant pour les applications qui s'exécutent longtemps (comme une application Web). Il optimise le code selon son usage à l'exécution.
C'est pareil, sauf que ça s'appelle l'IL (ou MSIL) pour Intermediate Language.
Ensuite, le code executé (et non pas toute l'application en une seule fois) est JITé.
Le résultat de la compilation JIT est gardé en mémoire.
Traditionnellement à la place de la PGO et de l'AOT, C# expose plus d'APIs et de types bas niveau pour pouvoir optimiser le code utilisateur ainsi que code de la bibliothèque standard (comme Span qui est super rapide, le mot clé ref, stackalloc, ...).
Ici, il est clair que dotnet est en train de jouer à rattraper le train côté optimisation de la VM.
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)