Hvorfor WSL 2 er 13 ganger raskere enn WSL: visninger fra Insider Preview

Microsoft forbereder utgivelsen av Windows May 2020 Update (20H1). Denne oppdateringen vil inneholde noen fine forbedringer av brukergrensesnittet, men det som er viktigere for utviklere og andre i den nye versjonen av Windows er at WSL 2 (Windows-undersystem for Linux). Dette er relevant informasjon for de som ønsket å bytte til Windows OS, men ikke turte.

Dave Rupert installerte WSL 2 på sin 13-tommers Surface laptop og de første resultatene
positivt overrasket:

Hvorfor WSL 2 er 13 ganger raskere enn WSL: visninger fra Insider Preview

Den andre versjonen av WSL er 13 ganger raskere enn den første! Det er ikke hver dag du får et 13x ytelsesløft gratis. Jeg kjente frysninger og felte en mannlig tåre da jeg først så disse resultatene. Hvorfor? Vel, for det meste sørget jeg over den tapte tiden som hadde akkumulert over 5 års arbeid med den første versjonen av WSL.

Og dette er ikke bare tall. I WSL 2, npm installasjon, bygging, pakking, visning av filer, reloading av varme moduler, start av servere – nesten alt jeg bruker daglig som webutvikler har blitt mye raskere. Det føles som å være på en Mac igjen (eller kanskje bedre, siden Apple har begrenset sine prosessorer radikalt til fordel for bedre batterilevetid de siste årene).

Hvor kommer slik smidighet fra?

Hvordan oppnådde de en 13 ganger økning i produktivitet? Tidligere, da jeg tenkte på å bytte til Mac, kastet jeg også ut noen alternativer, men rent på nivået av forutsetninger. Faktum er at skriving til disk og Linux-systemanrop var ganske dyrt (i form av tidskostnader) på grunn av arkitekturen til den første versjonen av WSL. Og nå gjett hva moderne webutvikling er avhengig av? Ja. Når du setter sammen en haug med avhengigheter og kodebiter hver gang du lagrer en fil, gjør du faktisk mye diskskriving og systemanrop på titusenvis av filer.

Når du først har lært dette på den harde måten, er det vanskelig å glemme. Du begynner gradvis å bli deprimert når du forestiller deg hvor sakte og trist det hele fungerer. Og du innser at din verden ikke lenger vil være den samme og verktøyet du likte ikke lenger virker nyttig eller effektivt.

Heldigvis tok WSL-teamet en risiko og omskrev subsystemet fullstendig. I WSL 2 ble disse problemene løst: utviklerne bygde sin egen virtuelle Linux-maskin i Windows og delegerte filoperasjoner til en VHD (Virtual Hardware Disk) nettverksstasjon. Avveiningen er at første gang du kjører den, må du bruke tid på å spinne opp den virtuelle maskinen. Denne tiden måles i millisekunder og er knapt merkbar for meg personlig. For eksempel venter jeg med glede, fordi jeg vet hva alt dette er for noe.

Hvor vil filene leve nå?

For å dra full nytte av WSL 2, vil du ønske å flytte prosjektfilene fra /mnt/c/Users/<brukernavn>/ til den nye hjemmekatalogen ~/Linux på en ny VHD. Du kan se innholdet i denne stasjonen på nettet ved å gå til \\wsl$\<distribusjonsnavn>\<brukernavn>\hjem eller ved å skrive inn kommandoen explorer.exe fra Bash-skallet ditt.

Dette er et ekte Linux-filsystem, og det fungerer og oppfører seg som du forventer. Jeg opprettet en mappe ~/prosjekter, som er der alle prosjektlagrene mine bor, og så åpner jeg prosjektene i Visual Studio Code ved å bruke kodekommandoen.

Hva med VS-kode?

Installerer WSLutvidelse for fjernutvikling på VS Code (VS Code Remote - WSL) er det siste trinnet som sikrer komfortabelt arbeid for utvikleren. Utvidelsen lar VS Code utføre alle operasjonene (git-kommandoer, konsoller, installere utvidelser, etc.) ved å samhandle direkte med den virtuelle Linux-maskinen. Dette gjør hele prosessen veldig autonom.

Først var jeg litt opprørt over å måtte installere denne utvidelsen fordi jeg trengte å installere det jeg hadde installert og konfigurert på nytt. Men nå setter jeg pris på det fordi det er et spesielt visualiseringslag som viser hvilket miljø jeg jobber i og hvor filene mine bor. Dette gjorde Windows-nettutviklingsprosessen mer oversiktlig og gjorde det mye enklere å bruke versjonskontroll-UI i VS Code.

Tårer av lykke og håp om en lys fremtid

Jeg kan ikke unngå å være begeistret for den neste utgivelsen av Windows Mai 2020-oppdateringen og det optimaliserte Linux-undersystemet som bare flyr rundt på min kraftige spill-PC. Det kan være noen andre problemer som jeg ikke vet om ennå, men etterpå insider Preview Jeg konkluderte med at WSL-teamet løste de fleste problemene.

I tillegg, ikke glem det Windows Terminal bra også! Det var som om de hørte mine klager om mangelen på faner, JSON-innstillinger og behovet for å "føle seg kul" i Windows. Det høres fortsatt rart ut, men Windows Terminal er kanskje den beste terminalen for Windows.

Etter å ha jobbet med Windows i 5 år, har jeg vært gjennom mye: ikke kunne installere Rails, sliter med kunstige Cygwin-skall. Jeg hadde et sete på første rad på den samme Build 2016-konferansen da Microsoft annonserte den første versjonen av WSL. Og så begynte jeg å håpe at webutvikling på Windows endelig skulle nå et nytt nivå. Uten tvil er WSL 2 den største forbedringen jeg har sett siden den gang, og det ser ut som om vi er på vei til en ny æra.

Om rettighetene til annonsering

Hvis arbeidet krever Windows-servere, så du definitivt til oss — automatisk installasjon av Windows Server 2012, 2016 eller 2019 på planer med 2 GB RAM eller høyere, lisensen er allerede inkludert i prisen. Total fra 21 rubler per dag! Vi har også evige servere 😉

Hvorfor WSL 2 er 13 ganger raskere enn WSL: visninger fra Insider Preview

Kilde: www.habr.com

Legg til en kommentar