Waarom WSL 2 13 keer sneller is dan WSL: vertoningen van Insider Preview

Microsoft bereidt de release van Windows mei 2020 Update (20H1) voor. Deze update zal een aantal mooie verbeteringen aan de gebruikersinterface bevatten, maar wat belangrijker is voor ontwikkelaars en anderen in de nieuwe versie van Windows is dat WSL 2 (Windows-subsysteem voor Linux). Dit is relevante informatie voor degenen die wilden overstappen naar Windows OS, maar niet durfden.

Dave Rupert installeerde WSL 2 op zijn 13-inch Surface-laptop en de eerste resultaten
Aangenaam verrast:

Waarom WSL 2 13 keer sneller is dan WSL: vertoningen van Insider Preview

De tweede versie van WSL is 13 keer sneller dan de eerste! Het komt niet elke dag voor dat je een gratis prestatieverbetering van 13x krijgt. Ik voelde koude rillingen en liet een mannelijke traan vallen toen ik deze resultaten voor het eerst zag. Waarom? Nou ja, ik rouwde vooral om de verloren tijd die ik had opgebouwd in de vijf jaar dat ik met de eerste versie van WSL werkte.

En dit zijn niet alleen cijfers. In WSL 2 is npm installeren, bouwen, verpakken, bestanden bekijken, hot-modules herladen, servers starten - bijna alles wat ik dagelijks gebruik als webontwikkelaar is veel sneller geworden. Het voelt alsof je weer op een Mac zit (of misschien beter, aangezien Apple de afgelopen jaren zijn processors radicaal heeft beperkt ten gunste van een betere batterijduur).

Waar komt deze behendigheid vandaan?

Hoe bereikten ze een 13x hogere productiviteit? Vroeger, toen ik erover nadacht om over te stappen naar Mac, gooide ik ook een aantal opties weg, zij het puur op het niveau van aannames. Feit is dat het schrijven naar schijf en het aanroepen van Linux-systemen behoorlijk duur waren (in termen van tijdskosten) vanwege de architectuur van de eerste versie van WSL. En raad eens waar moderne webontwikkeling sterk op leunt? Ja. Wanneer je elke keer dat je een bestand opslaat een aantal afhankelijkheden en codefragmenten samenvoegt, voer je feitelijk een heleboel schijfschrijfbewerkingen en systeemaanroepen uit op tienduizenden bestanden.

Als je dit eenmaal op de harde manier hebt geleerd, is het moeilijk om het te vergeten. Je begint geleidelijk depressief te worden als je je voorstelt hoe langzaam en verdrietig het allemaal werkt. En je realiseert je dat jouw wereld niet langer hetzelfde zal zijn en dat de tool die je leuk vond niet langer nuttig of effectief lijkt.

Gelukkig nam het WSL-team een ​​risico en herschreef het subsysteem volledig. In WSL 2 werden deze problemen opgelost: de ontwikkelaars bouwden hun eigen virtuele Linux-machine in Windows en delegeerden bestandsbewerkingen naar een VHD-netwerkstation (Virtual Hardware Disk). De wisselwerking is dat u de eerste keer dat u het uitvoert, tijd moet besteden aan het opstarten van de virtuele machine. Deze tijd wordt gemeten in milliseconden en is voor mij persoonlijk nauwelijks merkbaar. Ik wacht bijvoorbeeld met plezier, omdat ik weet waar dit allemaal voor is.

Waar zullen de bestanden nu staan?

Om volledig voordeel te halen uit WSL 2, zult u uw projectbestanden willen verplaatsen van /mnt/c/Gebruikers/<gebruikersnaam>/ naar de nieuwe thuismap ~/Linux op een nieuwe VHD. U kunt de inhoud van deze schijf online bekijken door naar te gaan \\wsl$\<distributienaam>\<gebruikersnaam>\home of door het commando in te voeren explorer.exe vanuit je Bash-shell.

Dit is een echt Linux-bestandssysteem en het werkt en gedraagt ​​zich zoals je zou verwachten. Ik heb een map gemaakt ~/projecten, waar al mijn projectopslagplaatsen staan, en vervolgens open ik de projecten in Visual Studio Code met behulp van de codeopdracht.

Hoe zit het met VS-code?

WSL installerenuitbreiding voor ontwikkeling op afstand op VS Code (VS Code Remote - WSL) is de laatste fase die comfortabel werken voor de ontwikkelaar garandeert. Met de extensie kan VS Code al zijn bewerkingen uitvoeren (git-opdrachten, consoles, extensies installeren, enz.) door rechtstreeks te communiceren met de virtuele Linux-machine. Dit maakt het hele proces zeer autonoom.

In eerste instantie was ik een beetje boos omdat ik deze extensie moest installeren, omdat ik opnieuw moest installeren wat ik eerder had geïnstalleerd en geconfigureerd. Maar nu waardeer ik het omdat er een speciale visualisatielaag is die laat zien in welke omgeving ik werk en waar mijn bestanden zich bevinden. Dit maakte het Windows-webontwikkelingsproces transparanter en maakte het veel eenvoudiger om de gebruikersinterface voor versiebeheer in VS Code te gebruiken.

Tranen van geluk en hoop op een mooie toekomst

Ik kan het niet helpen dat ik opgewonden ben over de volgende release van de Windows Mei 2020 Update en het geoptimaliseerde Linux-subsysteem dat rondvliegt op mijn krachtige gaming-pc. Er kunnen zich nog enkele andere problemen voordoen waar ik nog niets van weet, maar daarna Insider Preview Ik kwam tot de conclusie dat het WSL-team de meeste problemen had opgelost.

Vergeet dat bovendien niet Windows Terminal ook goed! Het was alsof ze mijn klachten hoorden over het gebrek aan tabbladen, JSON-instellingen en de behoefte om ‘cool te voelen’ in Windows. Het klinkt nog steeds vreemd, maar Windows Terminal is misschien wel de beste terminal voor Windows.

Na 5 jaar aan Windows te hebben gewerkt, heb ik veel meegemaakt: Rails niet kunnen installeren, worstelen met kunstmatige Cygwin-shells. Ik zat op de eerste rij op dezelfde Build 2016-conferentie toen Microsoft de eerste versie van WSL aankondigde. En toen begon ik te hopen dat webontwikkeling op Windows eindelijk een nieuw niveau zou bereiken. WSL 2 is zonder twijfel de grootste verbetering die ik sindsdien heb gezien en het lijkt erop dat we aan de vooravond van een nieuw tijdperk staan.

Als advertentie

Als het werk dit vereist Windows-servers, dan zeker aan ons — automatische installatie van Windows Server 2012, 2016 of 2019 op abonnementen met 2 GB RAM of hoger, de licentie is al bij de prijs inbegrepen. Totaal vanaf 21 roebel per dag! We hebben ook eeuwige servers 😉

Waarom WSL 2 13 keer sneller is dan WSL: vertoningen van Insider Preview

Bron: www.habr.com

Voeg een reactie