La deuxième version du sous-système Windows pour Linux (WSL 2) fait partie des versions de développement de Windows 10 20H1, dont la sortie en disponibilité générale est prévue pour mai 2020. WSL 2 inclut un véritable noyau Linux qui vous permet d’exécuter davantage de logiciels Linux sous Windows et offre de meilleures performances que WSL 1. Dave Rupert, qui a 5 ans d’expérience de développement sous Windows, donne ses premières impressions sur les améliorations qu’apporte le nouveau sous-système Windows pour Linux aux développeurs Web. Selon lui, WSL 2 ouvre une nouvelle ère pour le développement Web sous Windows.
WSL 2 est la nouvelle version de l’architecture qui permet au sous-système Windows pour Linux d’exécuter des fichiers binaires ELF64 Linux sous Windows. Cette nouvelle architecture, qui utilise un véritable noyau Linux, modifie la façon dont ces binaires Linux interagissent avec Windows et le matériel de votre ordinateur, tout en offrant la même expérience utilisateur que dans WSL 1 (la version stable actuelle qui sera bientôt remplacée). WSL 2 offre des performances de système de fichiers beaucoup plus rapides et une compatibilité totale des appels système, ce qui vous permet d'exécuter davantage d'applications comme Docker!
Selon Rupert, bien que la mise à jour Windows May 2020 sera publiée avec de belles améliorations de l'interface utilisateur, le plus important pour lui est qu'elle permet aux développeurs Web sous Windows de passer au WSL 2. Rupert utilise WSL 2 sur son ordinateur portable Surface 2 de 13 pouces depuis près d'un an maintenant et, selon lui, les premiers résultats sont stupéfiants : « C'est 13x plus rapide ! », a écrit le développeur dans son avis publié lundi dernier.
« Ce n'est pas tous les jours qu'on obtient gratuitement 13 fois un gain de productivité. J'ai eu des frissons et un peu les yeux embrumés quand j'ai vu les résultats moi-même pour la première fois. Pourquoi est-ce que je pleurais ? Eh bien, j'étais surtout en deuil de tout le temps perdu au cours des cinq dernières années », a-t-il ajouté.
Lors de la compilation de son blog, Rupert a réalisé que ce que WLS 1 faisait en 7,853 secondes, WLS 2 le fait en 0,567 seconde. Mais ce n’est pas que cela. WSL 2 améliore également l'installation de npm, le webpacking, la visualisation des fichiers, le rechargement des modules à chaud, le démarrage des serveurs. « Presque tout ce que vous faites quotidiennement en tant que développeur Web est considérablement plus rapide. C'est comme si vous possédiez à nouveau un Mac (ou peut-être mieux, car Apple a réduit la puissance de ses processeurs au profit de l'autonomie de la batterie ces dernières années) », a indiqué Rupert.
Pourquoi WSL 2 est si rapide comparé au WSL 1, selon Rupert ?
Son expérience dans l'architecture WSL 1 lui a permis de constaté que l’écriture sur disque et les stat calls de Linux étaient des opérations « coûteuses » à effectuer. Pour Rupert ceci n’était pas en phase avec le le développement Web moderne, qui consiste, selon lui, à compiler l'ensemble du code sur chaque fichier sauvegardé, faire beaucoup d'écritures sur disque et des stat calls sur des dizaines de milliers de fichiers.
« Une fois que vous avez pris connaissance de ce goulot d'étranglement, il est difficile de l'ignorer. La psychologie déprimante prend le dessus lorsque vous entendez que quelque chose est lent et que vous finissez par en faire l'expérience par vous-même. Votre monde s'effondre un peu et l'outil que vous aimez ne semble plus pratique », a-t-il écrit.
Avec la mise à jour du WSL par Microsoft, « ces problèmes ont été résolus dans WSL 2 en incorporant une VM Linux complète de première génération dans Windows et en déplaçant les opérations de fichiers sur un disque réseau VHD (Virtual Hardware Disk) ». Toutefois, le compromis est que le temps de démarrage se prolonge de quelques millisecondes afin de faire tourner la VM, ce qui est à peine perceptible pour lui.
Un commentateur, qui a un avis mitigé sur la rapidité du WSL 2, et écrit : « Accès plus rapide aux fichiers avec WSL 2 (par rapport au WSL 1) si vous restez dans le monde Linux. Mais si vous le dirigez sur des fichiers Windows (/mnt/c, etc.), c'est assez lent ». Selon lui, « WSL 2 a juste déplacé la lenteur d'un côté à l'autre. L'accès au FS Linux à partir de Windows (\\wlsl$\) est également lent ». Cependant, il indique que « Comme je n'utilise pas beaucoup de Windows Interop, le WSL 2 devrait être une performance gagnante pour moi ».
Un nouveau répertoire pour profiter des avantages du WLS 2
Pour profiter pleinement des avantages du WSL 2, Rupert recommande que vous déplaciez dorénavant vos fichiers de projet de /mnt/c/Users/<username>/ vers votre nouveau répertoire Linux home sur votre nouveau VHD. Ainsi, le contenu de votre disque sera visible sur le réseau en allant sur \\wsl$\<distro name>\<username>\home ou en tapant la commande explorer.exe . de votre invite bash.
Une fluidité en perspective pour le développement Web
« L'installation du Remote Development Extension pour VS Code est la dernière étape pour que l'expérience du développeur se passe bien. Remote Extension agit comme un pont pour le WSL et force VS Code à faire toutes ses opérations (git, ligne de commande, installations d'extension, etc.) directement dans votre distribution Linux. Elle rend le tout très autonome », a écrit Rupert à ce propos.
En raison de l’architecture WSL 1, le développeur dit qu’il était un peu contrarié par cette extension, car il était obligé de réinstaller des composants qu’il avait déjà installés. « Mais maintenant, je l'apprécie parce qu'elle ajoute une couche de visualisation de l'environnement que j'utilise et de l'endroit où les fichiers existent. Cela enlève un peu de mystère au processus de développement Web de Windows et l'utilisation de l'interface utilisateur de contrôle de version dans le code est beaucoup plus fluide », a-t-il expliqué.
Selon Rupert, le passage des développeurs Web au WLS 2 est une nouvelle ère en perspective pour eux. Des éventuels problèmes de départ ont certainement été résolus par l'équipe du WSL depuis que les versions Preview ont été mises à la disposition des Insiders. Dans un article intitulé « Quoi de neuf pour Windows 10 Insider Preview Builds (20H1) » publié à la fin du mois dernier, Microsoft dit avoir réglé certains problèmes.
Par exemple, selon l’article, auparavant, la mémoire de votre machine virtuelle WSL 2 s'étendait pour répondre aux besoins de votre flux de travail, mais ne se réduisait pas lorsque la mémoire n'était plus nécessaire. Maintenant, quand la mémoire n'est plus utilisée dans la VM Linux, elle sera libérée pour Windows, ce qui réduira la taille de la mémoire en conséquence.
Rupert rapporte également que Windows Terminal est maintenant amélioré. « Il résout tous mes problèmes précédents concernant le manque d'onglets, la configurabilité de JSON et le problème éphémère de "se sentir cool" sous Windows. C'est toujours bizarre à dire, mais Windows Terminal est sans conteste le meilleur terminal de Windows », s’enthousiasme le développeur. Et Rupert de conclure en disant : « Sans aucun doute, le WSL 2 est la plus grande amélioration que j'ai vue depuis lors et il semble que ce soit une nouvelle ère pour le développement Web sous Windows ».
« Avec le WSL, je peux accéder de manière transparente aux fichiers à la fois de Linux et de Windows. J'utilise le Terminal (Windows) et divers outils Unix pour beaucoup de choses (compilation et tests sur Posix, objdump, débogage). J'obtiens le meilleur des deux mondes », a écrit un autre commentateur.
« Mais l'accès aux fichiers WSL 2 dans /mnt/c/ est maintenant insupportablement lent. Donc je m'en tiens au WSL 1 ». Il a ajouté que « D'après ce que j'ai lu, Microsoft a l'intention de prendre en charge à la fois WSL1 et WSL2 dans un avenir prévisible. C'est donc une bonne chose ».
Source: Dave Rupert
Et vous ?
Quel commentaire faites-vous de l’avenir du développement Web dépeint par Dave Rupert (WSL 2 est 13 fois plus rapide que WSL 1) ?
Vous aussi, pensez-vous que WSL 2 est de loin meilleur au WSL 1 ? Pourquoi ?
Pensez-vous que Microsoft pourrait prendre en charge à la fois WSL1 et WSL2 dans le futur ?
Lire aussi
Windows 10 Insider Preview Build 18917 apporte WSL 2, l'architecture du sous-système Windows pour Linux, qui utilise un véritable noyau Linux
WSL2 sera disponible dans Windows 10 version 2004 prévue pour avril, Microsoft apporte une modification à la façon dont le noyau Linux dans WSL2 est installé et mis à jour
Le sous-système Windows pour Linux 2 (WSL2) passe à la disponibilité générale sous Windows 10, version 2004, avec un processus de mise à jour amélioré
Microsoft donne un aperçu de la prochaine interface utilisateur de Windows 10, découvrez à quoi vont ressembler les nouvelles icônes et le menu Démarrer
Premières impressions sur WSL 2 : 13 fois plus rapide que WSL 1,
Et introduit une nouvelle ère pour le développement Web sous Windows, selon un développeur
Premières impressions sur WSL 2 : 13 fois plus rapide que WSL 1,
Et introduit une nouvelle ère pour le développement Web sous Windows, selon un développeur
Le , par Stan Adkens
Une erreur dans cette actualité ? Signalez-nous-la !