Warum WSL 2 dreizehnmal schneller ist als WSL: Eindrücke aus der Insider-Vorschau

Microsoft bereitet die Veröffentlichung des Windows Mai 2020 Updates (20H1) vor. Dieses Update wird mehrere angenehme Verbesserungen der Benutzeroberfläche enthalten, aber für Entwickler und andere Fachleute ist das Wichtigste, dass in der neuen Version von Windows WSL 2 (Windows Subsystem für Linux). Dies ist aktuelle Information für diejenigen, die auf das Betriebssystem Windows umsteigen wollten, aber sich nicht entscheiden konnten.

Dave Rupert hat WSL 2 auf seinem 13-Zoll Surface Laptop installiert und die ersten Ergebnisse
überraschten ihn angenehm:

Warum WSL 2 dreizehnmal schneller ist als WSL: Eindrücke aus der Insider-Vorschau

Die zweite Version von WSL ist 13 Mal schneller als die erste! Es ist nicht alltäglich, dass man kostenlos eine 13-fache Leistungssteigerung erhält. Ich fühlte ein Schaudern und weinte eine männliche Träne, als ich diese Ergebnisse zum ersten Mal sah. Warum? Nun, hauptsächlich trauerte ich um die verlorene Zeit, die sich in 5 Jahren Arbeit mit der ersten Version von WSL angesammelt hatte.

Und das sind nicht nur Zahlen. In WSL 2 ist die Installation von npm, das Erstellen, Packen, das Durchsuchen von Dateien, das Neustarten von Hot-Modules, das Starten von Servern – fast alles, was ich als Webentwickler täglich nutze, läuft deutlich schneller. Es fühlt sich an, als würde ich wieder am Mac sitzen (oder vielleicht sogar besser, da Apple in den letzten Jahren seine Prozessoren radikal einschränkt, um die Akkulaufzeit zu erhöhen).

Woher kommt diese Agilität?

Wie haben sie diese 13-fache Leistungssteigerung erreicht? Früher, als ich über den Wechsel zu Mac nachdachte, dachte ich auch über einige Optionen nach, allerdings rein hypothetisch. Die Sache ist die, dass das Schreiben auf die Festplatte und die Systemaufrufe von Linux wegen der Architektur der ersten WSL-Version ziemlich kostspielig (in Bezug auf Zeit) waren. Und jetzt, könnt ihr erraten, worauf sich die moderne Webentwicklung in hohem Maße stützt? Ja. Wenn du eine Menge Abhängigkeiten und Codefragmente bei jedem Speichern einer Datei zusammenfügst, führst du tatsächlich viele Schreiboperationen auf die Festplatte und Systemaufrufe für Zehntausende von Dateien durch.

Sobald du das aus eigener Erfahrung weißt, ist es schwer, alles zu vergessen. Du beginnst allmählich in eine Depression zu verfallen, wenn du dir vorstellst, wie langsam und frustrierend das alles läuft. Und du verstehst, dass deine Welt nicht mehr dieselbe sein wird und das Werkzeug, das dir einmal gefiel, nicht mehr nützlich und effektiv erscheint.

Glücklicherweise hat das WSL-Team ein Risiko eingegangen und das Subsystem vollständig neu geschrieben. In WSL 2 wurden diese Probleme gelöst: Die Entwickler haben Windows eine eigene Linux-VM integriert und die Dateioperationen dem Netzlaufwerk VHD (Virtual Hardware Disk) zugewiesen. Der Kompromiss besteht darin, dass Sie beim ersten Start Zeit investieren müssen, um die virtuelle Maschine zu starten. Diese Zeit wird in Millisekunden gemessen und ist für mich kaum spürbar. Ich warte zum Beispiel gerne, da ich weiß, wofür das Ganze ist.

Wo werden die Dateien jetzt gespeichert?

Um die Vorteile von WSL 2 voll auszuschöpfen, möchten Sie die Projektdateien verschieben von /mnt/c/Users/<имя пользователя>/ in das neue home-Verzeichnis ~\/Linux auf dem neuen VHD. Sie können den Inhalt dieses Laufwerks im Netzwerk sehen, indem Sie zu \\ wsl $ \ \ \ home gehen oder den Befehl explorer.exe in Ihrer Bash-Shell eingeben.

Es ist ein echtes Linux-Dateisystem, und es funktioniert und verhält sich so, wie Sie es erwarten. Ich habe einen Ordner erstellt ~/projects, in dem alle meine Projekt-Repositorien untergebracht sind, und dann öffne ich die Projekte in Visual Studio Code, indem ich den Befehl code verwende.

Was ist mit VS Code?

Die Installation von WSL-für die Arbeit mit Modulen, die anstelle von Header-Dateien verwendet werden können. Module bieten einen neuen Weg zur Organisation von Quelltexten, basierend auf der Definition von Komponentenbereichen, ohne über „#include“ eingebundene Header-Dateien. für die Remote-Entwicklung in VS Code (VS Code Remote — WSL) ist der letzte Schritt, um die Arbeit des Entwicklers komfortabel zu gestalten. Die Erweiterung ermöglicht es VS Code, alle seine Operationen (Git-Befehle, Konsole, Installation von Erweiterungen usw.) direkt mit der Linux-VM zu interagieren. Das macht den gesamten Prozess sehr autonom.

Zunächst war ich etwas enttäuscht, dass ich diese Erweiterung installieren musste, da ich das, was ich zuvor installiert und konfiguriert hatte, neu installieren musste. Aber jetzt schätze ich es, denn es gibt eine spezielle Visualisierungsschicht, die zeigt, in welcher Umgebung ich arbeite und wo meine Dateien gespeichert sind. Das hat den Prozess der Webentwicklung unter Windows transparenter gemacht und die Nutzung der Benutzeroberfläche für die Versionskontrolle in VS Code erheblich vereinfacht.

Tränen der Freude und Hoffnung auf eine strahlende Zukunft

Ich verspüre ein Gefühl der Freude, wenn ich an das nächste Release des Windows May 2020 Updates und das optimierte Linux-Subsystem denke, das auf meinem leistungsstarken Gaming-PC einfach fliegt. Vielleicht gibt es noch einige Probleme, von denen ich bisher nichts weiß, aber nach Insider Preview Ich habe festgestellt, dass das WSL-Team die meisten Probleme gelöst hat.

Außerdem sollte man nicht vergessen, dass Windows Terminal es auch gut ist! Sie scheinen meine Beschwerden über das Fehlen von Tabs, JSON-Einstellungen und das Bedürfnis, sich in Windows „cool“ zu fühlen, gehört zu haben. Es klingt immer noch seltsam, aber das Windows-Terminal ist wohl das beste Terminal für Windows.

Nachdem ich 5 Jahre lang mit Windows gearbeitet habe, habe ich viel durchgemacht: die Unfähigkeit, Rails zu installieren, den Kampf mit künstlichen Cygwin-Shells. Ich saß in der ersten Reihe auf der Build 2016-Konferenz, als Microsoft die erste Version von WSL ankündigte. Und da hatte ich die Hoffnung, dass die Webentwicklung auf Windows endlich auf eine neue Ebene gehoben wird. Zweifellos ist WSL 2 die größte Verbesserung, die ich seitdem gesehen habe, und es scheint, als stünden wir an der Schwelle zu einer neuen Ära.

Als Werbung

Wenn für die Arbeit nötig ist, Windows-Server,dann sollten Sie unbedingt zu uns kommen – automatische Installation von Windows Server 2012, 2016 oder 2019 zu Tarifen mit 2 GB RAM oder mehr, die Lizenz ist bereits im Preis enthalten. Ab 21 Rubel pro Tag! Und wir haben auch dauerhafte Server 😉

Warum WSL 2 dreizehnmal schneller ist als WSL: Eindrücke aus der Insider-Vorschau

Quelle: habr.com

60GB SSD 8Gb DDR4