Warum WSL 2 13x schneller ist als WSL: Insider Preview Impressions

Microsoft bereitet eine Version des Windows-Updates für Mai 2020 (20H1) vor. Dieses Update enthält einige nette Verbesserungen der Benutzeroberfläche. Wichtiger für Entwickler und andere Initiierte ist jedoch, dass WSL 2 (Windows-Subsystem für Linux) in der neuen Windows-Version angezeigt wird . Dies sind relevante Informationen für diejenigen, die zu Windows wechseln wollten, es aber nicht wagten.

Dave Rupert installierte WSL 2 auf seinem 13-Zoll-Surface-Laptop und die ersten Ergebnisse waren
angenehm überrascht:




Die zweite Version der WSL ist 13-mal schneller als die erste! Nicht jeden Tag erhalten Sie kostenlos eine 13-fache Produktivitätssteigerung. Ich fühlte eine Kälte und stieß eine gemeine männliche Träne aus, als ich diese Ergebnisse zum ersten Mal sah. Warum? Im Grunde trauerte ich um die verlorene Zeit, die sich über 5 Jahre Arbeit mit der ersten Version der WSL angesammelt hatte.

Und das sind nicht nur Zahlen. In WSL 2 ist das Installieren von npm, das Erstellen, Packen, Anzeigen von Dateien, das Neustarten heißer Module und das Starten von Servern - fast alles, was ich als Webentwickler täglich verwende, viel schneller geworden. Es fühlt sich an, als würde man sich wieder auf einen Mac setzen (oder besser, da Apple seine Prozessoren in den letzten Jahren drastisch eingeschränkt hat, um die Akkulaufzeit zu verlängern).

Warum so beweglich?


Wie haben sie ein 13-faches Produktivitätswachstum erzielt? Früher, als ich über einen Wechsel zu Mac nachdachte, habe ich auch einige Optionen angesprochen, allerdings nur auf der Ebene der Annahmen. Tatsache ist, dass das Schreiben auf Festplatten- und Linux-Systemaufrufe aufgrund der Architektur der ersten Version von WSL (in Bezug auf den Zeitaufwand) ziemlich teuer war. Und jetzt raten Sie mal, worauf die moderne Webentwicklung stark angewiesen ist. Ja. Wenn Sie jedes Mal, wenn Sie eine Datei speichern, eine Reihe von Abhängigkeiten und Codeausschnitten zusammenstellen, schreiben Sie tatsächlich viel auf die Festplatte und das System ruft Zehntausende von Dateien auf.

Sobald Sie durch Ihre bittere Erfahrung davon erfahren, ist es schwer, alles zu vergessen. Sie werden allmählich depressiv, wenn Sie sich vorstellen, wie langsam und traurig alles funktioniert. Und Sie verstehen, dass Ihre Welt nicht mehr dieselbe sein wird und das Werkzeug, das Ihnen gefallen hat, nicht mehr nützlich und effektiv zu sein scheint.

Glücklicherweise ist das WSL-Team ein Risiko eingegangen und hat das Subsystem komplett neu geschrieben. In WSL 2 wurden diese Probleme behoben: Entwickler haben ihre eigene virtuelle Linux-Maschine in Windows integriert und dem VHD-Netzlaufwerk (Virtual Hardware Disk) Dateivorgänge zugewiesen. Der Nachteil ist, dass Sie beim ersten Start Zeit aufwenden müssen, um eine virtuelle Maschine hochzufahren. Diese Zeit wird in Millisekunden berechnet und ist für mich persönlich kaum wahrnehmbar. Zum Beispiel warte ich gerne, weil ich weiß, wofür das alles ist.

Wo werden die Dateien jetzt leben?


Um WSL 2 optimal nutzen zu können, müssen Sie die Projektdateien von / mnt / c / Users / <Benutzername> / in das neue ~ / Linux -Ausgangsverzeichnis auf der neuen VHD verschieben. Sie können den Inhalt dieser Festplatte im Netzwerk anzeigen, indem Sie zu \\\\ wsl $ \\ <Distributionsname> \\ <Benutzername> \\ home gehen oder den Befehl explorer.exe über Ihre Bash-Shell eingeben .

Dies ist ein echtes Linux-Dateisystem, das sich wie erwartet verhält und verhält. Ich habe den Ordner ~ / projects erstellt, in dem sich alle meine Projektrepositorys befinden, und dann öffne ich die Projekte in Visual Studio Code mit dem Befehl code.

Was ist mit VS Code?


Die Installation der WSL- Erweiterung für die Remoteentwicklung unter VS Code (VS Code Remote - WSL) ist der letzte Schritt, um die komfortable Arbeit des Entwicklers sicherzustellen. Mit der Erweiterung kann VS Code alle Vorgänge (Git-Befehle, Konsolen, Installieren von Erweiterungen usw.) ausführen, indem er direkt mit der virtuellen Linux-Maschine interagiert. Dies macht den gesamten Prozess sehr autonom.

Zuerst war ich ein wenig verärgert über die Notwendigkeit, diese Erweiterung zu installieren, da ich das, was ich zuvor installiert und konfiguriert hatte, neu installieren musste. Aber jetzt habe ich es geschätzt, weil eine spezielle Visualisierungsebene angezeigt wurde, die zeigt, in welcher Umgebung ich arbeite und wo meine Dateien leben. Dies machte den Webentwicklungsprozess unter Windows transparenter und vereinfachte die Verwendung der Benutzeroberfläche für die Versionskontrolle in VS Code erheblich.

Tränen des Glücks und der Hoffnung auf eine bessere Zukunft


Ich freue mich, wenn ich an die nächste Version des Windows May 2020-Updates und das optimierte Linux-Subsystem denke, das nur auf meinem leistungsstarken Spielecomputer funktioniert. Möglicherweise gibt es noch weitere Probleme, die ich noch nicht kenne, aber nach der Insider-Vorschau kam ich zu dem Schluss, dass das WSL-Team die meisten Probleme gelöst hat.

Vergessen Sie außerdem nicht, dass Windows Terminal auch gut ist! Sie schienen meine Beschwerden über das Fehlen von Registerkarten, JSON-Einstellungen und die Notwendigkeit zu hören, sich unter Windows "cool zu fühlen". Es klingt immer noch seltsam, aber Windows Terminal ist wahrscheinlich das beste Terminal für Windows.

Nachdem ich 5 Jahre in Windows gearbeitet hatte, habe ich viel durchgemacht: die Unfähigkeit, Rails zu installieren, den Kampf gegen künstliche Cygwin-Muscheln. Ich saß in der ersten Reihe bei derselben Build 2016-Konferenz, als Microsoft die erste Version von WSL ankündigte. Und dann hatte ich die Hoffnung, dass die Webentwicklung unter Windows endlich ein neues Level erreichen würde. Ohne Zweifel ist WSL 2 die größte Verbesserung, die ich seitdem gesehen habe, und es sieht so aus, als stünden wir kurz vor einer neuen Ära.



Als Werbung


Wenn Sie Windows-Server benötigen, um zu funktionieren , sind Sie bei uns herzlich willkommen - automatische Installation von Windows Server 2012, 2016 oder 2019 mit Raten von 2 GB RAM oder höher, eine Lizenz ist bereits im Preis enthalten. Nur ab 21 Rubel pro Tag ! Und wir haben auch ewige Server;)


All Articles