Actualités
Juin 21

La joie de six : Microsoft émet le dernier aperçu de .NET Core 3 avec beaucoup de pipes, perfs, chargements….

Microsoft a poursuivi son rythme rapide de mises à jour de .NET Core 3, en lançant un avant-goût aux développeurs passionnés par la plate-forme open-source.

Richard Lander, gestionnaire de programme, a également pris le temps de rendre compte des progrès réalisés par l’entreprise dans le pelletage de la source derrière le vénérable Windows Presentation Framework (WPF) dans GitHub. On peut dire sans risque de se tromper que le travail a nécessité un peu plus que l’élimination de tous les injures.

Sur le front de .NET Core 3, le framework prend désormais en charge plusieurs sessions Event Pipe, permettant des scénarios tels que la consommation d’événements avec EventListener in-proc et l’utilisation simultanée de clients event pipe hors processus.

Sans surprise, le gang a ajouté un certain nombre de compteurs de Perf pour garder une trace des choses, y compris les valeurs pour les ThreadPool Work Items et le taux de verrouillage de contenu.

Lander a également mis en évidence le format ReadyToRun (R2R), qui vise à accélérer le temps de démarrage d’une application .NET Core en réduisant ce que l’interpréteur Just In Time (JIT) doit faire pendant le démarrage de l’application.

Oui, il s’agit d’une autre version de la compilation Ahead Of Time (AOT).

Comme il y a moins de choses à faire pour le JIT, les choses sont plus rapides à charger. Cependant, l’inconvénient est un gonflement du binaire puisque l’ancien code du langage intermédiaire (IL) est toujours nécessaire ainsi que la version native.

L’AOT existe depuis un certain temps. Les développeurs .NET se souviennent sans doute de la joie de NGEN, qui a insisté pour compiler sur la machine cliente, plutôt que dans le cadre de la compilation de l’application. Core apprécie crossgen, qui va pomper les images R2R dans le cadre du processus de construction. L’intervention de l’ordinateur du client n’est pas nécessaire.

Cependant, il y a quelques inconvénients. Alors qu’un assemblage IL s’exécutera pratiquement partout où il y a un runtime qui supporte son framework cible, R2R est un peu plus sniffy et compilé pour une version et un environnement d’exécution .NET Core spécifique. Lander cite l’exemple de la compilation d’un R2R pour Linux .NET Core 3 et x86, qui ne fonctionnera par la suite que dans un environnement compatible, tel que .NET Core 3.1 ou, à voix basse, .NET 5, sur quelque chose de convivial.

En plus de ce qui pourrait sembler l’étape légèrement rétrograde de la création d’un format qui réduit l’éventail des environnements cibles à la recherche de performance, l’équipe a ajouté le support HTTP/2 à HttpClient. Le noyau ASP.NET et Blazor ont également publié des mises à jour, y compris l’authentification et le support des autorisations pour les applications Blazor et les ressources statiques dans les bibliothèques de classe Razor.

L’équipe a également ajouté des images Alpine Docker pour.NET Core et ASP.NET Core sur ARM64 après être restées fidèles à x64.

Et quant à la publication de la base de code pour WPF ? Lander a rapporté que l’équipe WPF avait obtenu la plupart des sources dans GitHub dans le but de tout faire avant que.NET Core 3 n’atteigne la disponibilité générale.

Lire la suite (en anglais) > https://www.theregister.co.uk/2019/06/13/microsoft_dotnet_core_3_preview_6/