Pourquoi WSL 2 est 13 fois plus rapide que WSL: impressions d'initiés

Microsoft prépare une version de la mise à jour Windows Mai 2020 (20H1). Cette mise à jour contiendra de belles améliorations de l'interface utilisateur, mais le plus important pour les développeurs et autres initiés est que WSL 2 (sous-système Windows pour Linux) apparaîtra dans la nouvelle version de Windows . Il s'agit d'informations pertinentes pour ceux qui souhaitaient passer à Windows, mais qui n'ont pas osé.

Dave Rupert a installé WSL 2 sur son ordinateur portable Surface de 13 pouces et les premiers résultats ont été
agréablement surpris:




La deuxième version de WSL est 13 fois plus rapide que la première! Pas tous les jours, vous obtenez gratuitement un gain de productivité de 13 fois. J'ai ressenti un frisson et j'ai poussé une larme masculine moyenne lorsque j'ai vu ces résultats pour la première fois. Pourquoi? Eh bien, en gros, j'ai pleuré le temps perdu qui s'était accumulé sur 5 ans de travail avec la première version de WSL.

Et ce ne sont pas que des chiffres. Dans WSL 2, l'installation de npm, l'assemblage, l'emballage, l'affichage des fichiers, le redémarrage des modules à chaud, le démarrage des serveurs - presque tout ce que j'utilise quotidiennement en tant que développeur Web est devenu beaucoup plus rapide. On dirait que c'est comme se rasseoir sur un Mac (ou peut-être mieux, car Apple a considérablement réduit ses processeurs ces dernières années en faveur d'une augmentation de la durée de vie de la batterie).

Pourquoi une telle agilité?


Comment ont-ils atteint une croissance de la productivité de 13 fois? Plus tôt, lorsque j'ai pensé à passer au Mac, j'ai également proposé quelques options, uniquement au niveau des hypothèses. Le fait est que l'écriture sur disque et les appels système Linux coûtaient assez cher (en termes de temps système) en raison de l'architecture de la première version de WSL. Et maintenant, devinez sur quoi le développement web moderne repose fortement? Oui. Lorsque vous assemblez un tas de dépendances et d'extraits de code à chaque fois que vous enregistrez un fichier, vous effectuez en fait beaucoup d'écriture sur disque et d'appels système pour des dizaines de milliers de fichiers.

Dès que vous en apprenez à travers votre expérience amère, après cela, il est difficile d'oublier tout. Vous commencez à devenir progressivement déprimé lorsque vous imaginez à quel point tout cela fonctionne lentement et malheureusement. Et vous comprenez que votre monde ne sera plus le même et que l'outil que vous aimiez ne semble plus utile et efficace.

Heureusement, l'équipe WSL a pris un risque et a complètement réécrit le sous-système. Dans WSL 2, ces problèmes ont été résolus: les développeurs ont construit sous Windows leur propre machine virtuelle Linux et affecté des opérations de fichiers au lecteur réseau VHD (Virtual Hardware Disk). Le compromis est que la première fois que vous démarrez, vous devez passer du temps à faire tourner une machine virtuelle. Ce temps est calculé en millisecondes et pour moi personnellement est à peine perceptible. Par exemple, j'attends avec plaisir, car je sais à quoi ça sert.

Où les fichiers vont-ils vivre maintenant?


Pour tirer pleinement parti de WSL 2, vous souhaiterez déplacer les fichiers de projet de / mnt / c / Users / <username> / vers le nouveau répertoire de base ~ / Linux sur le nouveau VHD. Vous pouvez voir le contenu de ce disque sur le réseau en accédant à \\\\ wsl $ \\ <nom de distribution> \\ <nom_utilisateur> \\ home ou en entrant la commande explorer.exe à partir de votre shell Bash.

Il s'agit d'un véritable système de fichiers Linux, et il agit et se comporte comme vous vous y attendez. J'ai créé le dossier ~ / projects dans lequel vivent tous mes référentiels de projets, puis j'ouvre les projets dans Visual Studio Code à l'aide de la commande de code.

Et VS Code?


L'installation de l' extension WSL pour le développement à distance sur VS Code (VS Code Remote - WSL) est la dernière étape pour assurer le travail confortable du développeur. L'extension permet à VS Code d'effectuer toutes ses opérations (commandes git, consoles, installation d'extensions, etc.) en interagissant directement avec la machine virtuelle Linux. Cela rend l'ensemble du processus très autonome.

Au début, j'étais un peu contrarié par la nécessité d'installer cette extension, car j'avais besoin de réinstaller ce que j'avais installé et configuré auparavant. Mais maintenant, je l'ai apprécié car une couche de visualisation spéciale est apparue qui montre dans quel environnement je travaille et où mes fichiers vivent. Cela a rendu le processus de développement Web sous Windows plus transparent et a considérablement simplifié l'utilisation de l'interface utilisateur pour le contrôle de version dans VS Code.

Des larmes de bonheur et d'espoir pour un avenir meilleur


J'ai un sentiment de joie quand je pense à la prochaine version de la mise à jour de mai 2020 de Windows et au sous-système Linux optimisé qui vole juste sur mon puissant ordinateur de jeu. Il y a peut-être d'autres problèmes que je ne connais pas encore, mais après Insider Preview, j'ai conclu que l'équipe WSL avait résolu la plupart des problèmes.

De plus, n'oubliez pas que Windows Terminal est également bon! Ils semblaient entendre mes plaintes concernant le manque d'onglets, les paramètres JSON et la nécessité de "se sentir bien" dans Windows. Cela semble toujours étrange, mais Windows Terminal est probablement le meilleur terminal pour Windows.

Après avoir travaillé sous Windows pendant 5 ans, j'ai traversé beaucoup de choses: l'impossibilité d'installer Rails, la lutte contre les coques artificielles Cygwin. Je me suis assis au premier rang lors de la même conférence Build 2016 lorsque Microsoft a annoncé la première version de WSL. Et puis j'avais l'espoir que le développement web sur Windows atteindrait enfin un nouveau niveau. Sans aucun doute, WSL 2 est la plus grande amélioration que j'ai vue depuis lors, et il semble que nous soyons au bord d'une nouvelle ère.



Comme une publicité


Si vous avez besoin de serveurs Windows au travail , vous êtes les bienvenus certainement nous - l' installation automatique de Windows Server 2012, 2016 ou 2019 à des taux avec 2 Go de RAM ou plus, une licence est déjà inclus dans le prix. Seulement à partir de 21 roubles par jour ! Et nous avons aussi des serveurs éternels;)


All Articles