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

Microsoft bereitet die Veröffentlichung des Windows May 2020 Update (20H1) vor. Dieses Update wird mehrere angenehme Verbesserungen der Benutzeroberfläche enthalten, aber für Entwickler und andere Interessierte ist wichtiger, dass in der neuen Version von Windows WSL 2 (Windows Subsystem for Linux) die aktuellen Informationen für diejenigen relevant sind, die auf das Betriebssystem Windows umsteigen wollten, sich aber 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 13 Mal schneller ist als WSL: Eindrücke aus der Insider-Vorschau

Die zweite Version von WSL ist 13-mal schneller als die erste! Man bekommt nicht jeden Tag kostenlos einen 13-fachen Leistungszuwachs. Ich fühlte eine Gänsehaut und ließ eine emotionale Träne fallen, 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 angehäuft hatte.

Und das sind nicht nur Zahlen. In WSL 2 sind die Installation von npm, das Bauen, das Packen, das Durchsuchen von Dateien, das heiße Nachladen von Modulen und das Starten von Servern – fast alles, was ich täglich als Webentwickler nutze, deutlich schneller geworden. Es fühlt sich an, als würde ich wieder an einem Mac sitzen (oder vielleicht sogar besser, da Apple in den letzten Jahren seine Prozessoren stark limitiert hat, um die Akkulaufzeit zu erhöhen).

Woher kommt diese Schnelligkeit?

Wie haben sie eine 13-fache Leistungssteigerung erreicht? Früher, als ich daran dachte, auf einen Mac umzusteigen, habe ich mir auch einige Möglichkeiten überlegt, allerdings nur hypothetisch. Das Problem war, dass das Schreiben auf die Festplatte und die Systemaufrufe unter Linux aufgrund der Architektur der ersten WSL-Version ziemlich teuer waren (zeitlich betrachtet). Und jetzt ratet mal, worauf die moderne Webentwicklung größtenteils angewiesen ist? Richtig. Wenn Sie bei jedem Speichern einer Datei eine Menge Abhängigkeiten und Codefragmente zusammenführen, führen Sie tatsächlich viele Schreibvorgänge auf die Festplatte und Systemaufrufe für zehntausende Dateien durch.

Sobald Sie dies aus eigener, schmerzhafter Erfahrung erfahren, ist es schwer, alles zu vergessen. Sie geraten allmählich in Depressionen, wenn Sie sich vorstellen, wie langsam und frustrierend alles funktioniert. Und Sie erkennen, dass Ihre Welt nie wieder die gleiche sein wird und das Werkzeug, das Ihnen gefiel, nicht mehr nützlich und effizient erscheint.

Glücklicherweise hat das WSL-Team das Risiko auf sich genommen und die Subsysteme von Grund auf neu geschrieben. In WSL 2 wurden diese Probleme gelöst: Die Entwickler haben eine eigene Linux-VM in Windows integriert und die Dateivorgänge einem VHD (Virtual Hardware Disk) Netzlaufwerk zugeordnet. 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 wahrnehmbar. Ich warte beispielsweise gerne, weil ich weiß, wofür ich das tue.

Wo werden die Dateien jetzt leben?

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

Das ist ein echtes Linux-Dateisystem, es funktioniert und verhält sich so, wie Sie es erwarten. Ich habe einen Ordner erstellt ~/projects, in dem alle meine Projekt-Repositorys leben, und dann öffne ich Projekte in Visual Studio Code mit dem Befehl code.

Was ist mit VS Code?

Die Installation von WSL-Erweiterung für die Remote-Entwicklung in VS Code (VS Code Remote – WSL) ist der letzte Schritt, der eine komfortable Arbeit für Entwickler ermöglicht. Die Erweiterung erlaubt es VS Code, alle seine Operationen (Git-Befehle, Konsole, Installation von Erweiterungen usw.) direkt mit der Linux-virtuellen Maschine zu interagieren. Das macht den gesamten Prozess sehr autonom.

Zuerst war ich ein wenig frustriert über die Notwendigkeit, diese Erweiterung zu installieren, weil ich alles, was ich zuvor installiert und konfiguriert hatte, neu installieren musste. Aber jetzt schätze ich es sehr, weil es eine spezielle Visualisierungsschicht gibt, die zeigt, in welcher Umgebung ich arbeite und wo meine Dateien liegen. Das hat den Prozess der Webentwicklung unter Windows transparenter gemacht und die Benutzeroberfläche zur Versionsverwaltung in VS Code erheblich vereinfacht.

Tränen des Glücks und die Hoffnung auf eine strahlende Zukunft

Ich verspüre eine unaufhörliche Freude beim Gedanken an das nächste Release des Windows Mai 2020 Updates und die optimierte Linux-Subsystem, das einfach auf meinem leistungsstarken Gaming-PC fliegt. Vielleicht gibt es noch einige Probleme, von denen ich bisher nichts weiß, aber nach Insider Preview habe ich den Eindruck gewonnen, dass das WSL-Team die meisten Probleme gelöst hat.

Außerdem sollte man nicht vergessen, dass Windows Terminal auch gut ist! Es scheint, als hätten sie meine Beschwerden über das Fehlen von Tabs, JSON-Einstellungen und das Bedürfnis, sich in Windows „cool“ zu fühlen, gehört. Das klingt weiterhin merkwürdig, aber Windows Terminal ist wahrscheinlich das beste Terminal für Windows.

Nach 5 Jahren Arbeit mit Windows habe ich vieles durchgemacht: die Unfähigkeit, Rails zu installieren, den Kampf mit den künstlichen Cygwin-Shells. Ich saß in der ersten Reihe bei der Build 2016-Konferenz, als Microsoft die erste Version von WSL ankündigte. Da keimte die Hoffnung in mir auf, dass die Webentwicklung auf Windows endlich auf ein neues Level gehoben wird. Ohne Zweifel ist WSL 2 das größte Update, das ich seitdem gesehen habe, und es scheint, als stünden wir am Anfang einer neuen Ära.

Im Auftrag der Werbung

Wenn Sie für Ihre Arbeit Windows-Serverbenötigen, dann sind Sie bei uns definitiv richtig. — automatische Installation von Windows Server 2012, 2016 oder 2019 bei Tarifen mit 2 GB RAM oder mehr, die Lizenz ist bereits im Preis enthalten. Insgesamt ab 21 Rubel pro Tag! Und wir haben auch dauerhafte Server 😉

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

Quelle: habr.com

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster