Zakaj je WSL 2 13-krat hitrejši od WSL: vtisi iz Insider Preview

Microsoft pripravlja izdajo posodobitve Windows May 2020 Update (20H1). Ta posodobitev bo vsebovala nekaj lepih izboljšav uporabniškega vmesnika, vendar je za razvijalce in druge v novi različici sistema Windows bolj pomembno, da WSL 2 (Podsistem Windows za Linux). To so pomembne informacije za tiste, ki so želeli preklopiti na operacijski sistem Windows, a si niso upali.

Dave Rupert je namestil WSL 2 na svoj 13-palčni prenosnik Surface in prvi rezultati
prijetno presenečen:

Zakaj je WSL 2 13-krat hitrejši od WSL: vtisi iz Insider Preview

Druga različica WSL je 13-krat hitrejša od prve! Ne zgodi se vsak dan, da brezplačno dobite 13-kratno povečanje zmogljivosti. Zmrazilo me je in potočila moška solza, ko sem prvič videla te rezultate. Zakaj? No, večinoma sem žaloval za izgubljenim časom, ki se je nabral v 5 letih dela s prvo različico WSL.

In to niso samo številke. V WSL 2 je namestitev npm, izdelava, pakiranje, ogled datotek, ponovno nalaganje vročih modulov, zagon strežnikov - skoraj vse, kar dnevno uporabljam kot spletni razvijalec, postalo veliko hitrejše. Zdi se, kot da bi bil spet na Macu (ali morda bolje, saj je Apple v zadnjih nekaj letih radikalno omejeval svoje procesorje v korist boljše življenjske dobe baterije).

Od kod taka agilnost?

Kako so dosegli 13-kratno povečanje produktivnosti? Prej, ko sem razmišljal o prehodu na Mac, sem tudi zavrgel nekaj možnosti, čeprav čisto na ravni predpostavk. Dejstvo je, da so bili zapisovanje na disk in sistemski klici Linuxa zaradi arhitekture prve različice WSL precej dragi (v smislu časovnih stroškov). In zdaj uganite, na kaj je sodoben spletni razvoj močno odvisen? ja Ko vsakič, ko shranite datoteko, sestavite kup odvisnosti in izrezkov kode, dejansko opravite veliko zapisov na disk in sistemskih klicev na desettisoče datotek.

Ko se tega enkrat naučiš na težji način, težko pozabiš. Začnete postopoma postajati depresivni, ko si predstavljate, kako počasi in žalostno vse skupaj deluje. In ugotovite, da vaš svet ne bo več enak in orodje, ki vam je bilo všeč, se ne zdi več uporabno ali učinkovito.

Na srečo je ekipa WSL tvegala in v celoti prepisala podsistem. V WSL 2 so bile te težave rešene: razvijalci so v Windows vgradili svoj virtualni stroj Linux in delegirali datotečne operacije na omrežni pogon VHD (Virtual Hardware Disk). Kompromis je v tem, da morate, ko ga prvič zaženete, porabiti čas za vrtenje virtualnega stroja. Ta čas se meri v milisekundah in je zame osebno komaj opazen. Na primer, z veseljem čakam, ker vem, čemu vse to služi.

Kje bodo zdaj datoteke?

Če želite v celoti izkoristiti WSL 2, boste želeli premakniti svoje projektne datoteke iz /mnt/c/Uporabniki/<uporabniško ime>/ v nov domači imenik ~/Linux na novem VHD. Vsebino tega pogona si lahko ogledate na spletu, tako da obiščete \\wsl$\<ime distribucije>\<uporabniško ime>\home ali z vnosom ukaza explorer.exe iz lupine Bash.

To je pravi datotečni sistem Linux in deluje in se obnaša, kot bi pričakovali. Ustvaril sem mapo ~/projekti, kjer živijo vsa moja skladišča projektov, nato pa odprem projekte v kodi Visual Studio z ukazom kode.

Kaj pa koda VS?

Namestitev WSLširitev za daljinski razvoj na VS Code (VS Code Remote - WSL) je zadnja stopnja, ki razvijalcu zagotavlja udobno delo. Razširitev omogoča VS Code, da izvede vse svoje operacije (ukaze git, konzole, nameščanje razširitev itd.) z neposredno interakcijo z virtualnim računalnikom Linux. Zaradi tega je celoten proces zelo avtonomen.

Sprva sem bil nekoliko razburjen, ker moram namestiti to razširitev, ker sem moral znova namestiti tisto, kar sem prej namestil in konfiguriral. Zdaj pa to cenim, ker obstaja posebna vizualizacijska plast, ki prikazuje, v kakšnem okolju delam in kje so moje datoteke. To je naredilo postopek spletnega razvoja sistema Windows bolj pregleden in olajšalo uporabo uporabniškega vmesnika za nadzor različic v kodi VS.

Solze sreče in upanja na svetlo prihodnost

Ne morem si kaj, da ne bi bil navdušen nad naslednjo izdajo posodobitve za Windows iz maja 2020 in optimiziranim podsistemom Linux, ki kar leti na mojem zmogljivem igralnem računalniku. Morda še kakšne druge težave, za katere še ne vem, a po Pregled predogleda Ugotovil sem, da je ekipa WSL rešila večino težav.

Poleg tega ne pozabite na to Windows Terminal tudi dobro! Bilo je, kot da bi slišali moje pritožbe glede pomanjkanja zavihkov, nastavitev JSON in potrebe po »počutju kul« v sistemu Windows. Še vedno se sliši čudno, vendar je Windows Terminal morda najboljši terminal za Windows.

Ker sem 5 let delal na sistemu Windows, sem dal skozi marsikaj: nisem mogel namestiti Rails, borim se z umetnimi lupinami Cygwin. Imel sem sedež v prvi vrsti na isti konferenci Build 2016, ko je Microsoft napovedal prvo različico WSL. In potem sem začel upati, da bo spletni razvoj v sistemu Windows končno dosegel novo raven. Brez dvoma je WSL 2 največja izboljšava, kar sem jih videl od takrat, in zdi se, da smo na pragu nove dobe.

O pravicah oglaševanja

Če delo zahteva Windows strežniki, potem zagotovo nam — avtomatska namestitev Windows Server 2012, 2016 ali 2019 na pakete z 2 GB RAM-a ali več, licenca je že vključena v ceno. Skupaj od 21 rubljev na dan! Imamo tudi večne strežnike 😉

Zakaj je WSL 2 13-krat hitrejši od WSL: vtisi iz Insider Preview

Vir: www.habr.com

Dodaj komentar