4 min čítania
Daň za antivírus
Moje prsty boli roky kalibrované na Apple silicon; npm install bola vec, ktorá prebehla medzi dvoma dúškami kávy. Potom zasiahli firemné pravidlá a na stôl mi pristál Windows.
Prvý install bežal tak dlho, že som šiel skontrolovať, či nespadla Wi-Fi. Nespadla. Nič nebolo pokazené. Len som začal platiť daň, ktorú som nikdy neodklikol.
Nie štátu, ale Microsoft Defenderu. Na bežnom NTFS disku kontroluje Defender každý súbor synchrónne, priamo pri prístupe. Jeden súbor? Ani nezbadáte. Osemtisíc súborov v node_modules? Nečakáte na SSD. Stojíte v rade na antivírus.
Väčšina vývojárov pokrčí plecami a naučí sa čakať. Ja to fyzicky nedokážem. Keď mi stroj plytvá sekundami, s radosťou zaplatím hodinami, aby som si ich vybojoval späť: odmerané, zautomatizované a zverejnené ako open source, aby to už nikto nemusel robiť dvakrát.
Tichý zlodej
Moderný vývoj je jeden veľký mlyn na malé súbory. git checkout prepíše tisíce súborov. .NET build rozseje bin/ a obj/ kade-tade. A npm install? O tom radšej pomlčme.
Každý jeden z tých súborov prejde skenom skôr, než sa ho vaše nástroje smú čo i len dotknúť. A táto cena je neviditeľná: žiadny progress bar vám nenapíše čaká sa na Defender. Stroj je jednoducho akýsi pomalý.
Nie je pomalý. Stojí v rade.
Liek, ktorý Windows dodáva a nikto ho neužíva
Windows 11 pritom v tichosti dodáva liek: Dev Drive, ReFS zväzok, na ktorom sa Defender prepne do asynchrónneho výkonového režimu. Súbory sa skenujú ďalej; vaše nástroje len prestanú čakať na verdikt. Ochrana ostáva. Blokovanie končí.
Háčik: nastaviť si ho poriadne znamená rozhodovať o partíciách, hrabať sa v Hyper-V cmdletoch, trust flagoch a remount taskoch. Presne preto ho väčšina vývojárov nikdy nevidela naživo.
Celé som to zbalil do jedného príkazu:
.\Create-DevDrive.ps1Skript vypíše svoj plán, počká na vaše Y/N a postaví Dev Drive nad VHD: jediný .vhdx súbor, ktorý leží na C:. Žiadne prerozdeľovanie disku. Ničoho existujúceho sa nedotkne. Keď súbor neskôr zmažete, je to, akoby sa nič nestalo.
Čísla, nie vibes
Ten istý stroj. To isté fyzické NVMe; Dev Drive je predsa len súbor na C:. Jediná premenná: režim skenovania Defenderu. 8 000 malých súborov, priemer z dvoch meraných kôl, zahrievacie kolo sa nepočíta:
Mazanie beží o 62 % rýchlejšie. Celý cyklus zápis-čítanie-mazanie: o 39,6 % rýchlejšie. A to je len skromný VHD variant; natívna Dev Drive partícia tie nožnice typicky roztvorí ešte viac.
Pustite si benchmark na vlastnom železe; skript je súčasťou repa. Ak vaše čísla prekonajú moje, úprimne to chcem počuť.
Paranoja ako feature
Skriptom, ktoré siahajú na disk, zásadne neverím. Vrátane vlastných. Preto sa tento odmietne spustiť, kým neprejde šiestimi poistkami (admin práva, build Windowsu, voľné miesto, minimálna veľkosť, dostupné Hyper-V cmdlety, žiadne VHD v ceste) a nikdy neformátuje nič, čo už existuje.
Nech to drží
Ešte dve minúty a ťažiť z toho bude celý váš toolchain:
- Prežiť reštarty:
Register-DevDriveAutoMount.ps1pridá logon task, ktorý disk po prihlásení znovu pripojí. - Presunúť mlyn: nasmerujte package cache (npm, NuGet, pip, Cargo, Maven, Gradle) na nový zväzok a repá tam rovno klonujte.
- Nástroje nechať na
C:: IDE, SDK aj runtime ostávajú, kde sú. Sťahujú sa len pracovné súbory.
A to je celý trik: I/O-náročných 90 % vášho dňa pristane na zväzku, ktorý je presne na to stavaný.
Skripty, benchmark aj fsutil dôkaz, že Defender naozaj beží asynchrónne, nájdete v repe: win11-dev-drive-setup.
Toto je presne ten druh inžinierstva, ktorý ma baví najviac: nájsť neviditeľnú daň, poctivo ju zmerať, zrušiť ju a nechať za sebou niečo, čo si ktokoľvek spustí jedným príkazom.
Zdieľať článok