Miért 2-szor gyorsabb a WSL 13, mint a WSL: megjelenítések az Insider Preview-ból

A Microsoft a Windows 2020 májusi frissítésének (20H1) kiadására készül. Ez a frissítés néhány szép felhasználói felület fejlesztést fog tartalmazni, de ami még fontosabb a fejlesztők és mások számára a Windows új verziójában, hogy WSL 2 (Windows alrendszer Linuxhoz). Ez fontos információ azok számára, akik át akartak váltani a Windows operációs rendszerre, de nem mertek.

Dave Rupert telepítette a WSL 2-t 13 hüvelykes Surface laptopjára és az első eredményeket
Kellemesen meglepve:

Miért 2-szor gyorsabb a WSL 13, mint a WSL: megjelenítések az Insider Preview-ból

A WSL második verziója 13-szor gyorsabb, mint az első! Nem mindennap kap 13-szoros teljesítménynövekedést ingyen. Borzongást éreztem, és férfias könnycseppet ejtettem, amikor először láttam ezeket az eredményeket. Miért? Nos, leginkább az elvesztegetett időt gyászoltam, ami több mint 5 évnyi munka során felhalmozódott a WSL első verziójával.

És ezek nem csak számok. WSL 2-ben npm telepítés, építés, csomagolás, fájlok megtekintése, hot modulok újratöltése, szerverek indítása – szinte minden, amit webfejlesztőként használok naponta, sokkal gyorsabbá vált. Olyan érzés, mintha újra Mac-en lennék (vagy talán jobban, mivel az Apple az elmúlt években radikálisan korlátozta processzorait a jobb akkumulátor-élettartam érdekében).

Honnan ez a mozgékonyság?

Hogyan érték el 13-szoros termelékenységnövekedést? Korábban, amikor arra gondoltam, hogy Mac-re váltok, néhány lehetőséget is kidobtam, igaz, pusztán feltételezések szintjén. A helyzet az, hogy a lemezre írás és a Linux rendszerhívások meglehetősen költségesek voltak (az időköltséget tekintve) a WSL első verziójának architektúrája miatt. És most találd ki, mire támaszkodik nagyban a modern webfejlesztés? Igen. Ha egy csomó függőséget és kódrészletet állít össze minden alkalommal, amikor ment egy fájlt, valójában rengeteg lemezírást és rendszerhívást végez több tízezer fájlon.

Ha ezt a kemény úton megtanulod, nehéz elfelejteni. Fokozatosan depresszióssá válsz, ha elképzeled, milyen lassan és szomorúan működik mindez. És rájössz, hogy a világod már nem lesz a régi, és az az eszköz, amelyik tetszett, már nem tűnik hasznosnak vagy hatékonynak.

Szerencsére a WSL csapata kockázatot vállalt, és teljesen átírta az alrendszert. A WSL 2-ben ezek a problémák megoldódtak: a fejlesztők saját Linux virtuális gépüket építették a Windowsba, és a fájlműveleteket egy VHD (Virtual Hardware Disk) hálózati meghajtóra delegálták. A kompromisszum az, hogy az első futtatáskor időt kell töltenie a virtuális gép felpörgetésével. Ezt az időt ezredmásodpercben mérik, és számomra személyesen alig észrevehető. Én például örömmel várom, mert tudom, mire való ez az egész.

Hol fognak most élni a fájlok?

A WSL 2 előnyeinek teljes kihasználása érdekében át kell helyeznie a projektfájlokat innen /mnt/c/Users/<felhasználónév>/ az új kezdőkönyvtárba ~/Linux új VHD-n. A meghajtó tartalmát online megtekintheti, ha felkeresi a címet \\wsl$\<terjesztési név>\<felhasználónév>\home vagy a parancs beírásával explorer.exe a Bash shellből.

Ez egy igazi Linux fájlrendszer, és úgy működik és viselkedik, ahogy az elvárható. Létrehoztam egy mappát ~/projektek, ahol az összes projekttáram él, majd megnyitom a projekteket a Visual Studio Code-ban a code paranccsal.

Mi a helyzet a VS Code-dal?

WSL telepítéseterjeszkedés a VS Code-on történő távoli fejlesztéshez (VS Code Remote - WSL) az utolsó szakasz, amely kényelmes munkát biztosít a fejlesztő számára. A kiterjesztés lehetővé teszi, hogy a VS Code végrehajtsa az összes műveletét (git parancsok, konzolok, bővítmények telepítése stb.) a Linux virtuális gépével való közvetlen interakcióval. Ez az egész folyamatot nagyon önállóvá teszi.

Eleinte kicsit ideges voltam, hogy fel kell telepítenem ezt a bővítményt, mert újra kellett telepítenem azt, amit korábban telepítettem és beállítottam. De most nagyra értékelem, mert van egy speciális vizualizációs réteg, amely megmutatja, hogy milyen környezetben dolgozom, és hol vannak a fájljaim. Ez átláthatóbbá tette a Windows webfejlesztési folyamatát, és sokkal könnyebbé tette a VS Code verziókezelő felhasználói felületének használatát.

A boldogság és a fényes jövő reményének könnyei

Izgatott vagyok a Windows 2020 májusi frissítésének következő kiadása és az optimalizált Linux alrendszer miatt, amely csak úgy repül a nagy teljesítményű játékgépemen. Lehetnek más problémák is, amiről még nem tudok, de utána Belső bemutató Arra a következtetésre jutottam, hogy a WSL csapata megoldotta a legtöbb problémát.

Ezenkívül ne felejtse el Windows terminál jó is! Mintha hallották volna a panaszaimat a lapok hiányáról, a JSON-beállításokról, és arról, hogy „jól érezni” kell magukat a Windowsban. Még mindig furcsán hangzik, de a Windows Terminal talán a legjobb terminál a Windows számára.

Mivel 5 évig dolgoztam Windowson, sok mindenen mentem keresztül: nem tudtam Rails-t telepíteni, mesterséges Cygwin shellekkel küszködtem. Ugyanazon a Build 2016 konferencián az első sorban ültem, amikor a Microsoft bejelentette a WSL első verzióját. Aztán reménykedni kezdtem, hogy a webfejlesztés Windows rendszeren végre új szintre lép. Kétségtelenül a WSL 2 a legnagyobb fejlesztés, amit azóta láttam, és úgy tűnik, egy új korszak küszöbén állunk.

A Reklám Jogairól

Ha a munka megkívánja Windows szerverek, akkor biztosan nekünk — Windows Server 2012, 2016 vagy 2019 automatikus telepítése 2 GB RAM-mal vagy nagyobb csomagokra, a licenc már benne van az árban. Teljes 21 rubeltől naponta! Vannak örök szervereink is 😉

Miért 2-szor gyorsabb a WSL 13, mint a WSL: megjelenítések az Insider Preview-ból

Forrás: will.com

Hozzászólás