Zašto je WSL 2 13 puta brži od WSL-a: dojmovi iz Insider Previewa

Microsoft priprema izdanje Windows May 2020 Update (20H1). Ovo ažuriranje će sadržavati neka lijepa poboljšanja korisničkog sučelja, ali ono što je važnije programerima i drugima u novoj verziji sustava Windows je da WSL 2 (Windows podsustav za Linux). Ovo je relevantna informacija za one koji su htjeli prijeći na Windows OS, ali se nisu usudili.

Dave Rupert instalirao je WSL 2 na svoj 13-inčni Surface laptop i prvi rezultati
ugodno iznenađen:

Zašto je WSL 2 13 puta brži od WSL-a: dojmovi iz Insider Previewa

Druga verzija WSL-a je 13 puta brža od prve! Ne događa se svaki dan da besplatno dobijete 13x povećanje performansi. Naježio sam se i pustio mušku suzu kad sam prvi put vidio ove rezultate. Zašto? Pa, uglavnom sam tugovao za izgubljenim vremenom koje se nakupilo tijekom 5 godina rada s prvom verzijom WSL-a.

I to nisu samo brojke. U WSL 2, npm instalacija, izgradnja, pakiranje, pregled datoteka, ponovno učitavanje vrućih modula, pokretanje poslužitelja - gotovo sve što svakodnevno koristim kao web programer postalo je puno brže. Osjećaj je kao da ste ponovno na Macu (ili možda bolje, budući da je Apple radikalno ograničavao svoje procesore u korist boljeg trajanja baterije tijekom posljednjih nekoliko godina).

Odakle takva agilnost?

Kako su postigli 13x povećanje produktivnosti? Ranije, kad sam razmišljao o prelasku na Mac, također sam izbacio neke opcije, iako čisto na razini pretpostavki. Činjenica je da su pisanje na disk i Linux sistemski pozivi bili prilično skupi (u smislu vremenskih troškova) zbog arhitekture prve verzije WSL-a. A sada pogodite na što se moderni web razvoj uvelike oslanja? Da. Kada sastavljate hrpu ovisnosti i isječaka koda svaki put kada spremite datoteku, zapravo radite mnogo pisanja na disk i pozivanja sustava na desetke tisuća datoteka.

Jednom kada ovo naučite na teži način, teško je zaboraviti. Počinjete postupno padati u depresiju kad zamislite kako sve to sporo i žalosno radi. I shvatite da vaš svijet više neće biti isti i alat koji vam se sviđao više se ne čini korisnim ili učinkovitim.

Srećom, WSL tim je riskirao i u potpunosti prepisao podsustav. U WSL-u 2 ovi su problemi riješeni: programeri su ugradili vlastiti Linux virtualni stroj u Windows i delegirali operacije datoteka na VHD (Virtual Hardware Disk) mrežni pogon. Kompromis je u tome što prvi put kada ga pokrenete, morate potrošiti vrijeme vrteći virtualni stroj. Ovo vrijeme se mjeri u milisekundama i meni osobno je jedva primjetno. Recimo, čekam sa zadovoljstvom, jer znam čemu sve ovo služi.

Gdje će datoteke sada živjeti?

Da biste u potpunosti iskoristili WSL 2, poželjet ćete premjestiti svoje projektne datoteke iz /mnt/c/Korisnici/<korisničko ime>/ u novi matični imenik ~/Linux na novom VHD-u. Možete vidjeti sadržaj ovog pogona na mreži ako odete na \\wsl$\<ime distribucije>\<korisničko ime>\home ili unosom naredbe explorer.exe iz vaše Bash ljuske.

Ovo je pravi Linux datotečni sustav, i djeluje i ponaša se onako kako biste očekivali. Napravio sam mapu ~/projekti, gdje žive svi moji repozitoriji projekata, a zatim otvaram projekte u Visual Studio Code pomoću naredbe code.

Što je s VS kodom?

Instaliranje WSL-aproširenje za daljinski razvoj na VS Code (VS Code Remote - WSL) je posljednja faza koja osigurava ugodan rad za programera. Proširenje omogućuje VS Codeu da izvodi sve svoje operacije (git naredbe, konzole, instaliranje proširenja, itd.) izravnom interakcijom s Linux virtualnim strojem. To cijeli proces čini vrlo autonomnim.

U početku sam bio malo uznemiren što moram instalirati ovo proširenje jer sam morao ponovo instalirati ono što sam prije instalirao i konfigurirao. Ali sada to cijenim jer postoji poseban sloj vizualizacije koji pokazuje u kakvom okruženju radim i gdje se moje datoteke nalaze. Ovo je učinilo Windows web razvojni proces transparentnijim i učinilo mnogo lakšim korištenje korisničkog sučelja za kontrolu verzija u VS Codeu.

Suze sretnice i nade u svijetlu budućnost

Ne mogu a da ne budem uzbuđen zbog sljedećeg izdanja ažuriranja za Windows svibanj 2020. i optimiziranog podsustava Linuxa koji upravo leti na mom moćnom računalu za igre. Možda će biti još nekih problema za koje još ne znam, ali poslije Insider preview Zaključio sam da je WSL tim riješio većinu problema.

Osim toga, ne zaboravite da Windows Terminal dobro također! Kao da su čuli moje pritužbe o nedostatku kartica, JSON postavki i potrebe da se "osjećam cool" u Windowsima. I dalje zvuči čudno, ali Windows Terminal je možda najbolji terminal za Windows.

Radeći na Windowsima 5 godina, prošao sam kroz mnogo toga: nisam mogao instalirati Rails, mučio se s umjetnim Cygwin školjkama. Bio sam u prvom redu na istoj konferenciji Build 2016 kada je Microsoft najavio prvu verziju WSL-a. A onda sam se počeo nadati da će web razvoj na Windowsima konačno dosegnuti novu razinu. Bez sumnje, WSL 2 je najveće poboljšanje koje sam vidio od tada i čini se da smo na pragu nove ere.

O pravima oglašavanja

Ako posao zahtijeva Windows poslužitelji, onda ti definitivno nama — automatska instalacija Windows Servera 2012, 2016 ili 2019 na pakete s 2 GB RAM-a ili više, licenca je već uključena u cijenu. Ukupno od 21 rublja dnevno! Imamo i vječne servere 😉

Zašto je WSL 2 13 puta brži od WSL-a: dojmovi iz Insider Previewa

Izvor: www.habr.com

Dodajte komentar