Por que o WSL 2 é 13x mais rápido que o WSL: impressões de visualização privilegiada

A Microsoft está preparando um lançamento do Windows May 2020 Update (20H1). Esta atualização conterá algumas boas melhorias na interface do usuário, mas mais importante para desenvolvedores e outros iniciados é que o WSL 2 (Windows Subsystem para Linux) aparecerá na nova versão do Windows . Esta é uma informação relevante para quem queria mudar para o Windows, mas não se atreveu.

Dave Rupert instalou o WSL 2 em seu laptop Surface de 13 polegadas e os primeiros resultados
surpreenderam agradavelmente:




A segunda versão do WSL é 13 vezes mais rápida que a primeira! Nem todos os dias você recebe um aumento de 13x na produtividade gratuitamente. Senti um calafrio e proferi uma lágrima masculina média quando vi esses resultados. Por quê? Bem, basicamente, lamentei o tempo perdido que havia acumulado mais de 5 anos de trabalho com a primeira versão do WSL.

E estes não são apenas números. No WSL 2, a instalação do npm, a criação, a compactação, a visualização de arquivos, a reinicialização de módulos quentes, a inicialização de servidores - quase tudo o que uso diariamente como desenvolvedor da Web se tornou muito mais rápido. Parece que é como sentar em um Mac novamente (ou talvez melhor, já que a Apple limitou drasticamente seus processadores nos últimos anos em favor do aumento da vida útil da bateria).

Por que tanta agilidade?


Como eles alcançaram um crescimento de 13x na produtividade? Anteriormente, quando pensei em mudar para o Mac, também vomitei algumas opções, puramente no nível de suposições. O fato é que gravar em chamadas para sistemas em disco e Linux era bastante caro (em termos de tempo adicional) devido à arquitetura da primeira versão do WSL. E agora adivinhe o que o desenvolvimento moderno da Web se apóia fortemente? Sim. Quando você reúne várias dependências e trechos de código toda vez que salva um arquivo, na verdade realiza muitas gravações em disco e chamadas do sistema para dezenas de milhares de arquivos.

Assim que você aprender sobre isso através de sua experiência amarga, depois disso, é difícil esquecer tudo. Você começa a ficar gradualmente deprimido quando imagina o quão lenta e triste tudo isso funciona. E você entende que seu mundo não será mais o mesmo e a ferramenta que você gostou não parece mais útil e eficaz.

Felizmente, a equipe da WSL assumiu um risco e reescreveu completamente o subsistema. No WSL 2, esses problemas foram resolvidos: os desenvolvedores integraram sua própria máquina virtual Linux no Windows e atribuíram operações de arquivo à unidade de rede VHD (Virtual Hardware Disk). A desvantagem é que, na primeira vez em que você inicia, você precisa gastar tempo para ativar uma máquina virtual. Este tempo é calculado em milissegundos e para mim, pessoalmente, quase não se nota. Por exemplo, espero com prazer, porque sei para que serve tudo isso.

Onde os arquivos estarão agora?


Para tirar o máximo proveito do WSL 2, você deseja mover os arquivos do projeto de / mnt / c / Users / <username> / para o novo diretório inicial ~ / Linux no novo VHD. Você pode ver o conteúdo desse disco na rede acessando \\\ wsl $ \\ <nome da distribuição> \\ <nome do usuário> \\ home ou inserindo o comando explorer.exe no shell do Bash.

Este é um sistema de arquivos Linux real, e age e se comporta conforme o esperado. Criei a pasta ~ / projects na qual vivem todos os meus repositórios de projetos e, em seguida, abro os projetos no Visual Studio Code usando o comando code.

E o VS Code?


Instalar a extensão WSL para desenvolvimento remoto no VS Code (VS Code Remote - WSL) é a última etapa para garantir o trabalho confortável do desenvolvedor. A extensão permite que o VS Code execute todas as suas operações (comandos git, consoles, instalação de extensões etc.) interagindo diretamente com a máquina virtual Linux. Isso torna todo o processo muito autônomo.

No começo, fiquei um pouco chateado com a necessidade de instalar esta extensão, porque precisava reinstalar o que havia instalado e configurado antes. Mas agora eu apreciei isso porque apareceu uma camada de visualização especial que mostra em qual ambiente eu trabalho e onde meus arquivos estão. Isso tornou o processo de desenvolvimento da Web no Windows mais transparente e simplificou bastante o uso da interface do usuário para controle de versão no VS Code.

Lágrimas de felicidade e esperança para um futuro melhor


Tenho muita alegria em pensar sobre a próxima versão do Windows May 2020 Update e o subsistema Linux otimizado que apenas voa no meu poderoso computador para jogos. Pode haver mais alguns problemas que ainda não conheço, mas após a Insider Preview , concluí que a equipe da WSL resolveu a maioria dos problemas.

Além disso, não se esqueça que o Windows Terminal também é bom! Eles pareciam ouvir minhas reclamações sobre a falta de guias, as configurações JSON e a necessidade de "sentir-se bem" no Windows. Ainda soa estranho, mas o Windows Terminal é provavelmente o melhor terminal para Windows.

Depois de trabalhar no Windows por 5 anos, passei por muita coisa: a incapacidade de instalar o Rails, a luta contra as conchas artificiais da Cygwin. Eu estava na primeira fila da mesma conferência do Build 2016 quando a Microsoft anunciou a primeira versão do WSL. E tive a esperança de que o desenvolvimento da web no Windows finalmente atingisse um novo nível. Sem dúvida, o WSL 2 é a maior melhoria que eu vi desde então, e parece que estamos à beira de uma nova era.



Como anúncio


Se você precisa que os servidores Windows funcionem , você é definitivamente bem - vindo - instalação automática do Windows Server 2012, 2016 ou 2019 a taxas de 2 GB de RAM ou superior, uma licença já está incluída no preço. Apenas a partir de 21 rublos por dia ! E também temos servidores eternos;)


All Articles