Varför WSL 2 är 13 gånger snabbare än WSL: visningar från Insider Preview

Microsoft förbereder releasen av Windows May 2020 Update (20H1). Den här uppdateringen kommer att innehålla några trevliga förbättringar av användargränssnittet, men det som är viktigare för utvecklare och andra i den nya versionen av Windows är att WSL 2 (Windows Subsystem för Linux). Detta är relevant information för de som ville byta till Windows OS, men inte vågade.

Dave Rupert installerade WSL 2 på sin 13-tums Surface laptop och de första resultaten
positivt överraskad:

Varför WSL 2 är 13 gånger snabbare än WSL: visningar från Insider Preview

Den andra versionen av WSL är 13 gånger snabbare än den första! Det är inte varje dag som du får en 13x prestandaboost gratis. Jag kände frossa och fällde en manlig tår när jag först såg dessa resultat. Varför? Tja, jag sörjde mest över den förlorade tiden som hade samlats ihop under 5 års arbete med den första versionen av WSL.

Och det här är inte bara siffror. I WSL 2, npm installation, byggande, paketering, visning av filer, omladdning av heta moduler, start av servrar – nästan allt jag använder dagligen som webbutvecklare har blivit mycket snabbare. Det känns som att vara på en Mac igen (eller kanske bättre, eftersom Apple radikalt har begränsat sina processorer till förmån för bättre batteritid under de senaste åren).

Var kommer sådan smidighet ifrån?

Hur uppnådde de en 13x ökning av produktiviteten? Tidigare, när jag funderade på att byta till Mac, kastade jag också ut några alternativ, men rent av antaganden. Faktum är att det var ganska dyrt att skriva till disk och Linux-systemanrop (i termer av tidskostnader) på grund av arkitekturen i den första versionen av WSL. Och gissa nu vad modern webbutveckling är mycket beroende av? Ja. När du lägger ihop en massa beroenden och kodsnuttar varje gång du sparar en fil, gör du faktiskt en hel del diskskrivningar och systemanrop på tiotusentals filer.

När du har lärt dig det här på den hårda vägen är det svårt att glömma. Du börjar gradvis bli deprimerad när du föreställer dig hur långsamt och sorgligt det hela fungerar. Och du inser att din värld inte längre kommer att vara densamma och verktyget du gillade inte längre verkar användbart eller effektivt.

Lyckligtvis tog WSL-teamet en risk och skrev om subsystemet helt. I WSL 2 löstes dessa problem: utvecklarna byggde in sin egen virtuella Linux-maskin i Windows och delegerade filoperationer till en VHD (Virtual Hardware Disk) nätverksenhet. Avvägningen är att första gången du kör den måste du lägga tid på att snurra upp den virtuella maskinen. Den här tiden mäts i millisekunder och märks knappt för mig personligen. Till exempel väntar jag med nöje, för jag vet vad allt detta är till för.

Var kommer filerna att bo nu?

För att dra full nytta av WSL 2 vill du flytta dina projektfiler från /mnt/c/Users/<användarnamn>/ till den nya hemkatalogen ~/Linux på en ny VHD. Du kan se innehållet i denna enhet online genom att gå till \\wsl$\<distributionsnamn>\<användarnamn>\home eller genom att ange kommandot explorer.exe från ditt Bash-skal.

Det här är ett riktigt Linux-filsystem, och det fungerar och beter sig som du kan förvänta dig. Jag skapade en mapp ~/projekt, som är där alla mina projektförråd bor och sedan öppnar jag projekten i Visual Studio Code med hjälp av kodkommandot.

Hur är det med VS Code?

Installerar WSLexpansionen för fjärrutveckling på VS Code (VS Code Remote - WSL) är det sista steget som säkerställer bekvämt arbete för utvecklaren. Tillägget tillåter VS Code att utföra alla dess operationer (git-kommandon, konsoler, installera tillägg, etc.) genom att interagera direkt med den virtuella Linux-maskinen. Detta gör hela processen mycket autonom.

Först var jag lite upprörd över att behöva installera det här tillägget eftersom jag behövde installera om det jag hade installerat och konfigurerat tidigare. Men nu uppskattar jag det eftersom det finns ett speciellt visualiseringslager som visar vilken miljö jag arbetar i och var mina filer bor. Detta gjorde Windows webbutvecklingsprocessen mer transparent och gjorde det mycket enklare att använda versionskontrollgränssnittet i VS Code.

Tårar av lycka och hopp om en ljus framtid

Jag kan inte låta bli att känna mig exalterad över nästa version av Windows May 2020 Update och det optimerade Linux-undersystemet som bara flyger runt på min kraftfulla speldator. Det kan finnas några andra problem som jag inte vet om än, men efter Insider Förhandsgranskning Jag drog slutsatsen att WSL-teamet löste de flesta problemen.

Dessutom, glöm inte det Windows Terminal bra också! Det var som om de hörde mina klagomål om bristen på flikar, JSON-inställningar och behovet av att "känna mig cool" i Windows. Det låter fortfarande konstigt, men Windows Terminal är kanske den bästa terminalen för Windows.

Efter att ha arbetat på Windows i 5 år har jag gått igenom mycket: att inte kunna installera Rails, kämpa med konstgjorda Cygwin-skal. Jag hade en plats på första raden vid samma Build 2016-konferens när Microsoft tillkännagav den första versionen av WSL. Och så började jag hoppas att webbutveckling på Windows äntligen skulle nå en ny nivå. Utan tvekan är WSL 2 den största förbättringen jag har sett sedan dess och det ser ut som att vi är på väg mot en ny era.

Om reklamens rättigheter

Om arbetet kräver Windows-servrar, då du definitivt till oss — automatisk installation av Windows Server 2012, 2016 eller 2019 på planer med 2 GB RAM eller högre, licensen är redan inkluderad i priset. Total från 21 rubel per dag! Vi har även eviga servrar 😉

Varför WSL 2 är 13 gånger snabbare än WSL: visningar från Insider Preview

Källa: will.com

Lägg en kommentar