Zašto je WSL 2 13 puta brži od WSL-a: utisci iz Insajderskog pregleda

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

Dave Rupert je instalirao WSL 2 na svoj 13-inčni Surface laptop i prve rezultate
prijatno iznenađen:

Zašto je WSL 2 13 puta brži od WSL-a: utisci iz Insajderskog pregleda

Druga verzija WSL-a je 13 puta brža od prve! Ne dobijate svaki dan besplatno povećanje performansi 13x. Osjetio sam jezu i pustio sam muževnu suzu kada sam prvi put vidio ove rezultate. Zašto? Pa, uglavnom sam tugovao za izgubljenim vremenom koje se nakupilo tokom 5 godina rada sa prvom verzijom WSL-a.

I to nisu samo brojevi. U WSL 2, npm instalacija, izrada, pakovanje, pregled datoteka, ponovno učitavanje vrućih modula, pokretanje servera - gotovo sve što svakodnevno koristim kao web programer postalo je mnogo brže. Osjećam se kao da ste ponovo na Macu (ili možda bolje, budući da je Apple radikalno ograničavao svoje procesore u korist boljeg trajanja baterije u posljednjih nekoliko godina).

Odakle takva agilnost?

Kako su postigli 13 puta povećanje produktivnosti? Ranije, kada sam razmišljao o prelasku na Mac, izbacio sam i neke opcije, iako čisto na nivou 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 šta se moderni web razvoj u velikoj mjeri oslanja? Da. Kada sastavite gomilu zavisnosti i isječaka koda svaki put kada sačuvate datoteku, zapravo radite puno upisivanja na disk i sistemskih poziva na desetine hiljada datoteka.

Jednom kada ovo naučite na teži način, teško je zaboraviti. Počinjete postepeno padati u depresiju kada zamislite kako sve to sporo i tužno funkcionira. I shvaćate da vaš svijet više neće biti isti i alat koji vam se sviđao više se ne čini korisnim ili efikasnim.

Srećom, WSL tim je rizikovao i potpuno prepisao podsistem. U WSL 2, ovi problemi su riješeni: programeri su ugradili vlastitu Linux virtualnu mašinu u Windows i delegirali operacije datoteka na VHD (Virtualni hardverski disk) mrežni disk. Kompromis je u tome što prvi put kada ga pokrenete, morate potrošiti vrijeme na okretanje virtuelne mašine. Ovo vrijeme se mjeri milisekundama i meni lično je jedva primjetno. Na primjer, čekam sa zadovoljstvom, jer znam čemu sve ovo služi.

Gdje će fajlovi sada živjeti?

Da biste u potpunosti iskoristili prednosti WSL 2, htjet ćete premjestiti svoje projektne datoteke iz /mnt/c/Users/<korisničko ime>/ u novi početni direktorij ~/Linux na novom VHD-u. Sadržaj ovog pogona možete vidjeti na mreži ako odete na \\wsl$\<ime distribucije>\<korisničko ime>\home ili unosom komande explorer.exe iz vaše Bash ljuske.

Ovo je pravi Linux sistem datoteka, koji se ponaša i ponaša kako biste očekivali. Napravio sam folder ~/projekti, gdje žive sva moja spremišta projekata, a zatim otvaram projekte u Visual Studio Code koristeći komandu koda.

Šta je sa VS kodom?

Instalacija WSL-aekspanzija za daljinski razvoj na VS Code (VS Code Remote - WSL) je posljednja faza koja osigurava udoban rad za programera. Ekstenzija omogućava VS Code-u da izvodi sve svoje operacije (git komande, konzole, instaliranje ekstenzija, itd.) direktnom interakcijom sa Linux virtuelnom mašinom. To čini cijeli proces vrlo autonomnim.

U početku sam bio malo uznemiren što sam morao da instaliram ovu ekstenziju jer sam morao da ponovo instaliram ono što sam ranije instalirao i konfigurisao. Ali sada to cijenim jer postoji poseban sloj vizualizacije koji pokazuje u kakvom okruženju radim i gdje žive moji fajlovi. Ovo je učinilo Windows proces web razvoja transparentnijim i učinilo mnogo lakšim korištenje korisničkog sučelja za kontrolu verzija u VS Code-u.

Suze sreće i nade u svetlu budućnost

Ne mogu a da se ne osjećam uzbuđeno zbog sljedećeg izdanja Windows ažuriranja za maj 2020. i optimiziranog Linux podsistema koji upravo leti na mom moćnom računaru za igre. Možda ima nekih drugih problema za koje još ne znam, ali poslije Insider Pregled Zaključio sam da je WSL tim riješio većinu problema.

Osim toga, nemojte to zaboraviti Windows Terminal Dobro, također! Kao da su čuli moje pritužbe na nedostatak kartica, JSON postavki i potrebu da se „osjećam cool“ u Windows-u. I dalje zvuči čudno, ali Windows Terminal je možda najbolji terminal za Windows.

Pošto sam radio na Windows-u 5 godina, prošao sam kroz mnogo toga: nisam mogao da instaliram Rails, mučio sam se sa veštačkim Cygwin školjkama. Sjedio 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 Windows-u konačno dostići novi nivo. Bez sumnje, WSL 2 je najveće poboljšanje koje sam vidio od tada i izgleda kao da smo na pragu nove ere.

O pravima reklame

Ako posao zahteva Windows serveri, onda definitivno nama — automatska instalacija Windows Servera 2012, 2016 ili 2019 na planovima sa 2 GB RAM-a ili više, licenca je već uključena u cijenu. Ukupno od 21 rublje po danu! Imamo i vječne servere 😉

Zašto je WSL 2 13 puta brži od WSL-a: utisci iz Insajderskog pregleda

izvor: www.habr.com

Dodajte komentar