Hvorfor WSL 2 er 13 gange hurtigere end WSL: visninger fra Insider Preview

Microsoft forbereder udgivelsen af ​​Windows May 2020 Update (20H1). Denne opdatering vil indeholde nogle gode brugergrænsefladeforbedringer, men hvad der er vigtigere for udviklere og andre i den nye version af Windows er, at WSL 2 (Windows-undersystem til Linux). Dette er relevant information for dem, der ønskede at skifte til Windows OS, men ikke turde.

Dave Rupert installerede WSL 2 på sin 13-tommer Surface laptop og de første resultater
glædeligt overrasket:

Hvorfor WSL 2 er 13 gange hurtigere end WSL: visninger fra Insider Preview

Den anden version af WSL er 13 gange hurtigere end den første! Det er ikke hver dag, du får et 13x ydelsesboost gratis. Jeg følte kuldegysninger og fældede en mandig tåre, da jeg første gang så disse resultater. Hvorfor? Nå, for det meste sørgede jeg over den tabte tid, der havde akkumuleret over 5 års arbejde med den første version af WSL.

Og det er ikke kun tal. I WSL 2, npm installation, opbygning, pakning, visning af filer, genindlæsning af varme moduler, start af servere – næsten alt hvad jeg bruger dagligt som webudvikler er blevet meget hurtigere. Det føles som at være på en Mac igen (eller måske bedre, da Apple radikalt har begrænset sine processorer til fordel for bedre batterilevetid i løbet af de sidste par år).

Hvor kommer en sådan smidighed fra?

Hvordan opnåede de en 13x stigning i produktiviteten? Tidligere, da jeg tænkte på at skifte til Mac, smed jeg også nogle muligheder ud, dog udelukkende på antagelsesniveau. Faktum er, at det var ret dyrt at skrive til disk og Linux-systemopkald (i form af tidsomkostninger) på grund af arkitekturen i den første version af WSL. Og gæt nu, hvad moderne webudvikling er stærkt afhængig af? Ja. Når du sammensætter en masse afhængigheder og kodestykker, hver gang du gemmer en fil, laver du faktisk en masse diskskrivninger og systemkald på titusindvis af filer.

Når du først har lært dette på den hårde måde, er det svært at glemme. Du begynder gradvist at blive deprimeret, når du forestiller dig, hvor langsomt og trist det hele fungerer. Og du indser, at din verden ikke længere vil være den samme, og at det værktøj, du kunne lide, ikke længere virker nyttigt eller effektivt.

Heldigvis tog WSL-teamet en risiko og omskrev subsystemet fuldstændigt. I WSL 2 blev disse problemer løst: Udviklerne byggede deres egen virtuelle Linux-maskine ind i Windows og delegerede filoperationer til et VHD (Virtual Hardware Disk) netværksdrev. Afvejningen er, at første gang du kører den, skal du bruge tid på at skrue op for den virtuelle maskine. Denne tid er målt i millisekunder og er næsten ikke mærkbar for mig personligt. For eksempel venter jeg med glæde, fordi jeg ved, hvad alt det her er for noget.

Hvor vil filerne leve nu?

For at få det fulde udbytte af WSL 2, vil du gerne flytte dine projektfiler fra /mnt/c/Users/<brugernavn>/ til den nye hjemmemappe ~/Linux på en ny VHD. Du kan se indholdet af dette drev online ved at gå til \\wsl$\<distributionsnavn>\<brugernavn>\home eller ved at indtaste kommandoen explorer.exe fra din Bash-skal.

Dette er et rigtigt Linux-filsystem, og det fungerer og opfører sig, som du ville forvente. Jeg har oprettet en mappe ~/projekter, som er hvor alle mine projektlagre bor, og så åbner jeg projekterne i Visual Studio Code ved hjælp af kodekommandoen.

Hvad med VS Code?

Installerer WSLudvidelse til fjernudvikling på VS Code (VS Code Remote - WSL) er den sidste fase, der sikrer komfortabelt arbejde for udvikleren. Udvidelsen tillader VS Code at udføre alle dens operationer (git-kommandoer, konsoller, installation af udvidelser osv.) ved at interagere direkte med den virtuelle Linux-maskine. Dette gør hele processen meget selvstændig.

Først var jeg lidt ked af at skulle installere denne udvidelse, fordi jeg skulle geninstallere det, jeg havde installeret og konfigureret før. Men nu sætter jeg pris på det, fordi der er et særligt visualiseringslag, der viser, hvilket miljø jeg arbejder i, og hvor mine filer bor. Dette gjorde Windows-webudviklingsprocessen mere gennemsigtig og gjorde det meget nemmere at bruge versionskontrol-UI i VS Code.

Tårer af lykke og håb om en lys fremtid

Jeg kan ikke lade være med at føle mig begejstret for den næste udgivelse af Windows Maj 2020-opdateringen og det optimerede Linux-undersystem, der bare flyver rundt på min kraftfulde gaming-pc. Der kan være nogle andre problemer, som jeg ikke kender til endnu, men efter Insider Preview Jeg konkluderede, at WSL-teamet løste de fleste problemer.

Derudover skal du ikke glemme det Windows Terminal også godt! Det var, som om de hørte mine klager over manglen på faner, JSON-indstillinger og behovet for at "føle sig cool" i Windows. Det lyder stadig mærkeligt, men Windows Terminal er måske den bedste terminal til Windows.

Efter at have arbejdet på Windows i 5 år, har jeg været igennem meget: ikke at kunne installere Rails, kæmper med kunstige Cygwin-skaller. Jeg havde en plads på forreste række ved den samme Build 2016-konference, da Microsoft annoncerede den første version af WSL. Og så begyndte jeg at håbe, at webudvikling på Windows endelig ville nå et nyt niveau. Uden tvivl er WSL 2 den største forbedring, jeg har set siden da, og det ser ud til, at vi er på nippet til en ny æra.

Om reklamernes rettigheder

Hvis arbejdet kræver Windows-servere, så er du helt sikkert til os — automatisk installation af Windows Server 2012, 2016 eller 2019 på planer med 2 GB RAM eller højere, licensen er allerede inkluderet i prisen. Total fra 21 rubler om dagen! Vi har også evige servere 😉

Hvorfor WSL 2 er 13 gange hurtigere end WSL: visninger fra Insider Preview

Kilde: www.habr.com

Tilføj en kommentar