Miksi WSL 2 on 13 kertaa nopeampi kuin WSL: näyttökerrat Insider Previewista

Microsoft valmistelee Windows toukokuun 2020 päivityksen (20H1) julkaisua. Tämä päivitys sisältää joitain mukavia käyttöliittymäparannuksia, mutta mikä on tärkeämpää kehittäjille ja muille uudessa Windows-versiossa WSL 2 (Windows-alijärjestelmä Linuxille). Tämä on olennaista tietoa niille, jotka halusivat vaihtaa Windows-käyttöjärjestelmään, mutta eivät uskaltaneet.

Dave Rupert asensi WSL 2:n 13-tuumaiseen Surface-kannettavaansa ja ensimmäiset tulokset
Iloisesti yllättynyt:

Miksi WSL 2 on 13 kertaa nopeampi kuin WSL: näyttökerrat Insider Previewista

WSL:n toinen versio on 13 kertaa nopeampi kuin ensimmäinen! Et saa joka päivä 13-kertaista suoritustehostetta ilmaiseksi. Tunsin vilunväristyksiä ja vuodatin miehisen kyyneleen, kun näin ensimmäisen kerran nämä tulokset. Miksi? No, enimmäkseen surin kadonnutta aikaa, joka oli kertynyt yli 5 vuoden aikana työskennellessäni WSL:n ensimmäisen version kanssa.

Ja nämä eivät ole vain numeroita. WSL 2:ssa npm-asennus, rakentaminen, pakkaaminen, tiedostojen katselu, hot-moduulien uudelleenlataus, palvelinten käynnistäminen - melkein kaikesta, mitä käytän päivittäin web-kehittäjänä, on tullut paljon nopeampaa. Tuntuu kuin olisit taas Macilla (tai ehkä paremmalta, koska Apple on radikaalisti rajoittanut prosessoreitaan paremman akun keston hyväksi muutaman viime vuoden aikana).

Mistä tällainen ketteryys tulee?

Kuinka he saavuttivat 13-kertaisen tuottavuuden kasvun? Aiemmin, kun ajattelin vaihtaa Maciin, heitin myös joitakin vaihtoehtoja pois, vaikkakin puhtaasti oletusten tasolla. Tosiasia on, että levylle kirjoittaminen ja Linux-järjestelmäkutsut olivat melko kalliita (aikakustannuksissa mitattuna) WSL:n ensimmäisen version arkkitehtuurin vuoksi. Ja arvaa nyt mihin moderni web-kehitys perustuu voimakkaasti? Joo. Kun kokoat yhteen joukon riippuvuuksia ja koodinpätkiä joka kerta, kun tallennat tiedoston, kirjoitat levylle paljon ja teet järjestelmäkutsuja kymmenille tuhansille tiedostoille.

Kun tämän oppii kantapään kautta, on vaikea unohtaa. Alat vähitellen masentua, kun kuvittelet kuinka hitaasti ja surullisesti kaikki toimii. Ja ymmärrät, että maailmasi ei ole enää sama ja työkalu, josta pidit, ei enää vaikuta hyödylliseltä tai tehokkaalta.

Onneksi WSL-tiimi otti riskin ja kirjoitti alijärjestelmän kokonaan uudelleen. WSL 2:ssa nämä ongelmat ratkesivat: kehittäjät rakensivat oman Linux-virtuaalikoneensa Windowsiin ja delegoivat tiedostotoiminnot VHD-verkkoasemalle (Virtual Hardware Disk). Kompromissi on, että kun käytät sitä ensimmäistä kertaa, sinun on käytettävä aikaa virtuaalikoneen pyörittämiseen. Tämä aika mitataan millisekunteina, ja se on tuskin havaittavissa minulle henkilökohtaisesti. Esimerkiksi odotan mielenkiinnolla, koska tiedän, mitä varten tämä kaikki on.

Missä tiedostot säilyvät nyt?

Jotta saat täyden hyödyn WSL 2:sta, sinun kannattaa siirtää projektitiedostosi kohteesta /mnt/c/Users/<käyttäjänimi>/ uuteen kotihakemistoon ~/Linux uudella VHD:llä. Voit nähdä tämän aseman sisällön verkossa siirtymällä osoitteeseen \\wsl$\<jakelunimi>\<käyttäjänimi>\home tai kirjoittamalla komennon explorer.exe Bash-kuoresta.

Tämä on todellinen Linux-tiedostojärjestelmä, ja se toimii ja käyttäytyy odotetulla tavalla. Loin kansion ~/projektit, jossa kaikki projektivarastot elävät ja sitten avaan projektit Visual Studio Codessa koodikomennolla.

Entä VS Code?

WSL:n asennuslaajeneminen VS Coden etäkehitykseen (VS Code Remote - WSL) on viimeinen vaihe, joka takaa kehittäjälle mukavan työn. Laajennuksen avulla VS Code voi suorittaa kaikki toimintonsa (git-komennot, konsolit, laajennusten asentaminen jne.) olemalla vuorovaikutuksessa suoraan Linux-virtuaalikoneen kanssa. Tämä tekee koko prosessista hyvin itsenäisen.

Aluksi olin hieman järkyttynyt tämän laajennuksen asentamisesta, koska minun piti asentaa uudelleen se, mitä olin asentanut ja määrittänyt aiemmin. Mutta nyt arvostan sitä, koska siellä on erityinen visualisointikerros, joka näyttää missä ympäristössä työskentelen ja missä tiedostoni ovat. Tämä teki Windowsin verkkokehitysprosessista läpinäkyvämmän ja helpotti huomattavasti versionhallintakäyttöliittymän käyttöä VS Codessa.

Onnen kyyneleet ja toivon valoisasta tulevaisuudesta

Olen vain innoissani Windows toukokuun 2020 päivityksen seuraavasta julkaisusta ja optimoidusta Linux-alijärjestelmästä, joka vain lentelee tehokkaalla pelitietokoneellani. Saattaa olla joitain muita ongelmia, joista en vielä tiedä, mutta sen jälkeen Sisäpiirin esikatselu Päättelin, että WSL-tiimi ratkaisi suurimman osan ongelmista.

Lisäksi älä unohda sitä Windows-pääte hyvä myös! Oli kuin he olisivat kuulleet valitukseni välilehtien puutteesta, JSON-asetuksista ja tarpeesta "viihtyä" Windowsissa. Se kuulostaa edelleen oudolta, mutta Windows Terminal on ehkä paras Windows-pääte.

Olen työskennellyt Windowsin parissa 5 vuotta, ja olen käynyt läpi paljon: en ole pystynyt asentamaan Raileja, kamppaillut keinotekoisten Cygwin-kuorien kanssa. Minulla oli eturivin paikka samassa Build 2016 -konferenssissa, kun Microsoft julkisti WSL:n ensimmäisen version. Ja sitten aloin toivoa, että web-kehitys Windowsissa saavuttaisi vihdoin uuden tason. WSL 2 on epäilemättä suurin parannus, jonka olen sen jälkeen nähnyt, ja näyttää siltä, ​​että olemme uuden aikakauden kynnyksellä.

Mainonnan oikeuksista

Jos työ vaatii Windows-palvelimet, sitten sinä ehdottomasti meille — Windows Server 2012, 2016 tai 2019 automaattinen asennus suunnitelmiin, joissa on vähintään 2 Gt RAM-muistia, lisenssi sisältyy jo hintaan. Kaikki yhteensä alkaen 21 ruplaa päivässä! Meillä on myös ikuisia palvelimia 😉

Miksi WSL 2 on 13 kertaa nopeampi kuin WSL: näyttökerrat Insider Previewista

Lähde: will.com

Lisää kommentti