Защо WSL 2 е 13 пъти по-бърз от WSL: впечатления от Insider Preview

Microsoft подготвя пускането на Windows May 2020 Update (20H1). Тази актуализация ще съдържа някои добри подобрения на потребителския интерфейс, но това, което е по-важно за разработчиците и другите в новата версия на Windows е, че WSL 2 (Подсистема Windows за Linux). Това е подходяща информация за тези, които искаха да преминат към Windows OS, но не се осмелиха.

Дейв Рупърт инсталира WSL 2 на своя 13-инчов лаптоп Surface и първи резултати
приятно изненадан:

Защо WSL 2 е 13 пъти по-бърз от WSL: впечатления от Insider Preview

Втората версия на WSL е 13 пъти по-бърза от първата! Не всеки ден получавате 13-кратно увеличение на производителността безплатно. Потръпнаха ме и пролях мъжка сълза, когато за първи път видях тези резултати. Защо? Е, най-вече тъгувах за изгубеното време, натрупано за 5 години работа с първата версия на WSL.

И това не са само числа. В WSL 2, npm инсталация, изграждане, опаковане, преглед на файлове, презареждане на горещи модули, стартиране на сървъри - почти всичко, което използвам ежедневно като уеб разработчик, стана много по-бързо. Усещането е като отново на Mac (или може би по-добре, тъй като Apple радикално ограничава своите процесори в полза на по-добър живот на батерията през последните няколко години).

Откъде такава пъргавина?

Как са постигнали 13 пъти увеличение на производителността? Преди това, когато мислех да премина към Mac, също изхвърлих някои опции, макар и чисто на ниво предположения. Факт е, че записът на диск и системните разговори на Linux бяха доста скъпи (по отношение на разходите за време) поради архитектурата на първата версия на WSL. А сега познайте на какво разчита до голяма степен съвременната уеб разработка? да Когато сглобявате куп зависимости и кодови фрагменти всеки път, когато записвате файл, вие всъщност правите много дискови записи и системни извиквания на десетки хиляди файлове.

След като научите това по трудния начин, е трудно да го забравите. Започвате постепенно да изпадате в депресия, когато си представите колко бавно и тъжно работи всичко това. И разбирате, че вашият свят вече няма да е същият и инструментът, който сте харесали, вече не изглежда полезен или ефективен.

За щастие екипът на WSL пое риск и напълно пренаписа подсистемата. В WSL 2 тези проблеми бяха решени: разработчиците изградиха своя собствена Linux виртуална машина в Windows и делегираха файлови операции на VHD (Virtual Hardware Disk) мрежово устройство. Компромисът е, че първия път, когато го стартирате, трябва да отделите време за завъртане на виртуалната машина. Това време се измерва в милисекунди и лично за мен е едва забележимо. Аз например чакам с удоволствие, защото знам за какво е всичко това.

Къде ще живеят файловете сега?

За да се възползвате напълно от WSL 2, ще искате да преместите файловете на вашия проект от /mnt/c/Users/<потребителско име>/ към новата начална директория ~/Linux на нов VHD. Можете да видите съдържанието на това устройство онлайн, като отидете на \\wsl$\<име на разпространение>\<потребителско име>\home или чрез въвеждане на командата explorer.exe от вашата Bash обвивка.

Това е истинска файлова система на Linux и тя действа и се държи както бихте очаквали. Създадох папка ~/проекти, където живеят всичките ми хранилища на проекти и след това отварям проектите в Visual Studio Code с помощта на командата code.

Какво ще кажете за VS Code?

Инсталиране на WSLекспанзия за отдалечено разработване на VS Code (VS Code Remote - WSL) е последният етап, който осигурява удобна работа за разработчика. Разширението позволява на VS Code да изпълнява всички свои операции (git команди, конзоли, инсталиране на разширения и т.н.), като взаимодейства директно с виртуалната машина на Linux. Това прави целия процес много автономен.

Първоначално бях малко разстроен, че трябва да инсталирам това разширение, защото трябваше да преинсталирам това, което бях инсталирал и конфигурирал преди. Но сега го оценявам, защото има специален слой за визуализация, който показва в каква среда работя и къде се намират файловете ми. Това направи процеса на уеб разработка на Windows по-прозрачен и направи много по-лесно използването на потребителския интерфейс за контрол на версиите във VS Code.

Сълзи от щастие и надежда за светло бъдеще

Не мога да не се чувствам развълнуван от следващото издание на актуализацията на Windows от май 2020 г. и оптимизираната подсистема Linux, която просто лети на моя мощен компютър за игри. Може да има други проблеми, за които все още не знам, но след това Insider Preview Заключих, че екипът на WSL е решил повечето от проблемите.

Освен това не забравяйте това Терминал на Windows също добре! Сякаш чуха оплакванията ми относно липсата на раздели, JSON настройки и нуждата да се „чувствам готино“ в Windows. Все още звучи странно, но Windows Terminal е може би най-добрият терминал за Windows.

След като съм работил върху Windows в продължение на 5 години, минах през много неща: не мога да инсталирам Rails, боря се с изкуствени обвивки на Cygwin. Имах място на първия ред на същата конференция Build 2016, когато Microsoft обяви първата версия на WSL. И тогава започнах да се надявам, че уеб разработката на Windows най-накрая ще достигне ново ниво. Без съмнение WSL 2 е най-голямото подобрение, което съм виждал оттогава и изглежда, че сме на прага на нова ера.

Относно правата на рекламата

Ако работата изисква Windows сървъри, тогава вие определено за нас — автоматична инсталация на Windows Server 2012, 2016 или 2019 на планове с 2 GB RAM или по-висока, лицензът вече е включен в цената. Обща сума от 21 рубли на ден! Имаме и вечни сървъри 😉

Защо WSL 2 е 13 пъти по-бърз от WSL: впечатления от Insider Preview

Източник: www.habr.com

Добавяне на нов коментар