Perché WSL 2 è 13 volte più veloce di WSL: impressioni dalla Insider Preview

Microsoft sta preparando il rilascio di Windows May 2020 Update (20H1). Questo aggiornamento conterrà diversi piacevoli miglioramenti dell'interfaccia utente, ma per gli sviluppatori e altri addetti ai lavori è più importante il fatto che nella nuova versione di Windows apparirà WSL 2 (Windows Subsystem for Linux). Queste informazioni sono rilevanti per chi desiderava passare al sistema operativo Windows, ma non si è mai deciso.

Dave Rupert ha installato WSL 2 sul suo laptop Surface da 13 pollici e i primi risultati
sono stati piacevolmente sorprendenti:

Perché WSL 2 è 13 volte più veloce di WSL: impressioni dalla Insider Preview

La seconda versione di WSL è 13 volte più veloce della prima! Non capita tutti i giorni di ricevere un incremento delle prestazioni di 13 volte gratuitamente. Ho provato un brivido e ho versato una lacrima di emozione quando ho visto per la prima volta questi risultati. Perché? Beh, principalmente piangevo il tempo perso accumulato in 5 anni di lavoro con la prima versione di WSL.

E non sono solo numeri. In WSL 2 l'installazione di npm, la compilazione, l'imballaggio, la visualizzazione dei file, il riavvio dei moduli caldi, l'avvio dei server — quasi tutto ciò che utilizzo quotidianamente come sviluppatore web è diventato significativamente più veloce. È come se fossi di nuovo su un Mac (o forse anche meglio, dato che Apple negli ultimi anni ha drasticamente limitato i suoi processori a favore di un aumento dell'autonomia).

Da dove viene questa velocità?

Come hanno ottenuto un aumento delle prestazioni di 13 volte? In passato, quando pensavo di passare a un Mac, anche io avevo delle idee, ma erano puramente ipotetiche. Il fatto è che le operazioni di scrittura su disco e le chiamate di sistema in Linux erano piuttosto costose (in termini di tempo) a causa dell'architettura della prima versione di WSL. E ora indovinate su cosa si basa largamente lo sviluppo web moderno? Già. Quando mettete insieme una serie di dipendenze e frammenti di codice con ogni salvataggio di un file, in realtà state eseguendo molte operazioni di scrittura su disco e chiamate di sistema per decine di migliaia di file.

Una volta che lo scopri attraverso la tua esperienza dolorosa, dopo diventa difficile dimenticare tutto. Inizi a scivolare gradualmente nella depressione quando immagini quanto lentamente e tristemente funzioni tutto. E realizzi che il tuo mondo non sarà più lo stesso e lo strumento che tanto amavi non sembra più utile ed efficace.

Fortunatamente, il team di WSL ha preso rischi e ha completamente riscritto il sottosistema. In WSL 2 questi problemi sono stati risolti: gli sviluppatori hanno integrato una macchina virtuale Linux direttamente in Windows e hanno affidato le operazioni sui file al disco di rete VHD (Virtual Hardware Disk). Il compromesso è che al primo avvio è necessario dedicare del tempo per avviare la macchina virtuale. Questo tempo è misurato in millisecondi e personalmente per me è quasi impercettibile. Ad esempio, aspetto con piacere, sapendo per cosa vale la pena.

Dove vivranno ora i file?

Per sfruttare appieno i vantaggi di WSL 2, vorrai spostare i file del progetto da /mnt/c/Users/<имя пользователя>/ nella nuova home directory ~\/Linux sul nuovo VHD. Puoi vedere il contenuto di questo disco in rete, andando su \\ wsl $ \ <nome della distribuzione> \ <nome utente> \ home oppure digitando il comando explorer.exe dalla tua shell Bash.

È un vero file system Linux, e si comporta e agisce come ti aspetteresti. Ho creato una cartella ~\/projects, in cui risiedono tutti i miei repository di progetti e poi apro i progetti in Visual Studio Code, utilizzando il comando code.

E per quanto riguarda VS Code?

L'installazione di WSL-estensione per lo sviluppo remoto su VS Code (VS Code Remote — WSL) è l'ultimo passaggio che assicura un lavoro confortevole per lo sviluppatore. L'estensione consente a VS Code di eseguire tutte le proprie operazioni (comandi git, console, installazione di estensioni e così via), interagendo direttamente con la macchina virtuale Linux. Questo rende l'intero processo molto autonomo.

Inizialmente ero un po' deluso dalla necessità di installare questa estensione, perché dovevo reinstallare ciò che avevo già installato e configurato in precedenza. Ma ora lo apprezzo molto, perché è stato introdotto uno strato di visualizzazione speciale che mostra in quale ambiente sto lavorando e dove si trovano i miei file. Questo ha reso il processo di sviluppo web su Windows più trasparente e ha semplificato notevolmente l'uso dell'interfaccia utente per la gestione delle versioni in VS Code.

Lacrime di gioia e speranza per un futuro luminoso

Non riesco a togliermi di dosso la sensazione di gioia al pensiero del prossimo rilascio di Windows May 2020 Update e del sottosistema Linux ottimizzato, che vola semplicemente sul mio potente PC da gioco. Potrebbero esserci ancora alcuni problemi di cui non sono al corrente, ma dopo Insider Preview Ho concluso che il team WSL ha risolto la maggior parte dei problemi.

Inoltre, non bisogna dimenticare che Windows Terminal è davvero buono! Sembra che abbiano ascoltato le mie lamentele riguardo all'assenza di schede, impostazioni JSON e alla necessità di "sentirsi fighi" in Windows. Suona ancora strano, ma Windows Terminal è probabilmente il miglior terminale per Windows.

Dopo aver lavorato in Windows per 5 anni, ho vissuto molte esperienze: l'incapacità di installare Rails, la lotta con le shell artificiali Cygwin. Ero in prima fila a quella famosa conferenza Build 2016, quando Microsoft annunciò la prima versione di WSL. E da quel momento ho avuto la speranza che lo sviluppo web su Windows finalmente raggiungesse un nuovo livello. Senza dubbio, WSL 2 è il miglioramento più grande che abbia visto da allora, e sembra che siamo sull'orlo di una nuova era.

In base alla pubblicità

Se hai bisogno di server Windows, allora sei decisamente nel posto giusto — installazione automatica di Windows Server 2012, 2016 o 2019 con piani a partire da 2 GB di RAM o superiori, la licenza è già inclusa nel prezzo. A partire da 21 rubli al giorno! E abbiamo anche server eterni 😉

Perché WSL 2 è 13 volte più veloce di WSL: impressioni dalla Insider Preview

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster