Por qué WSL 2 es 13 veces más rápido que WSL: impresiones de vista previa de información privilegiada

Microsoft está preparando el lanzamiento de la actualización de Windows Mayo 2020 (20H1). Esta actualización contendrá algunas mejoras agradables en la interfaz de usuario, pero lo más importante para los desarrolladores y otros iniciados es que WSL 2 (Subsistema de Windows para Linux) aparecerá en la nueva versión de Windows . Esta es información relevante para aquellos que querían cambiar a Windows, pero no se atrevieron.

Dave Rupert instaló WSL 2 en su computadora portátil Surface de 13 pulgadas y los primeros resultados
sorprendieron gratamente:




¡La segunda versión de WSL es 13 veces más rápida que la primera! No todos los días obtienes un aumento de productividad 13 veces gratis. Sentí un escalofrío y pronuncié una lágrima masculina cuando vi por primera vez estos resultados. ¿Por qué? Bueno, básicamente, lloré el tiempo perdido que se había acumulado durante 5 años de trabajo con la primera versión de WSL.

Y estos no son solo números. En WSL 2, instalar npm, compilar, empaquetar, ver archivos, reiniciar módulos activos, iniciar servidores: casi todo lo que uso a diario como desarrollador web se ha vuelto mucho más rápido. Parece que es como sentarse nuevamente en una Mac (o tal vez mejor, ya que Apple ha limitado drásticamente sus procesadores en los últimos años a favor de aumentar la duración de la batería).

¿Por qué tanta agilidad?


¿Cómo lograron un crecimiento de productividad 13x? Anteriormente, cuando pensé en cambiarme a Mac, también presenté algunas opciones, solo a nivel de suposiciones. El hecho es que escribir en el disco y las llamadas al sistema Linux eran bastante caras (en términos de sobrecarga de tiempo) debido a la arquitectura de la primera versión de WSL. ¿Y ahora adivina en qué se basa el desarrollo web moderno? Si. Cuando reúnes un montón de dependencias y fragmentos de código cada vez que guardas un archivo, en realidad escribes mucho en el disco y el sistema llama a decenas de miles de archivos.

Tan pronto como lo aprendes a través de tu amarga experiencia, después de eso es difícil olvidarlo todo. Empiezas a deprimirte gradualmente cuando imaginas cuán lenta y tristemente funciona todo. Y entiendes que tu mundo ya no será el mismo y que la herramienta que te gustó ya no parece útil y efectiva.

Afortunadamente, el equipo de WSL se arriesgó y reescribió completamente el subsistema. En WSL 2, estos problemas se resolvieron: los desarrolladores integraron su propia máquina virtual Linux en Windows y asignaron operaciones de archivos a la unidad de red VHD (Disco de hardware virtual). La desventaja es que la primera vez que comienzas, tienes que pasar tiempo para poner en marcha una máquina virtual. Este tiempo se calcula en milisegundos y para mí personalmente apenas se nota. Por ejemplo, espero con gusto, porque sé para qué sirve todo esto.

¿Dónde vivirán los archivos ahora?


Para aprovechar al máximo WSL 2, querrá mover los archivos del proyecto desde / mnt / c / Users / <username> / al nuevo directorio de inicio ~ / Linux en el nuevo VHD. Puede ver el contenido de este disco en la red yendo a \\\\ wsl $ \\ <nombre de distribución> \\ <nombre de usuario> \\ home o ingresando el comando explorer.exe desde su shell Bash.

Este es un sistema de archivos Linux real, y actúa y se comporta como espera. Creé la carpeta ~ / projects en la que viven todos mis repositorios de proyectos y luego abro los proyectos en Visual Studio Code usando el comando de código.

¿Qué pasa con VS Code?


Instalar la extensión WSL para el desarrollo remoto en VS Code (VS Code Remote - WSL) es el último paso para garantizar el trabajo cómodo del desarrollador. La extensión permite que VS Code realice todas sus operaciones (comandos git, consolas, instalación de extensiones, etc.) al interactuar directamente con la máquina virtual Linux. Esto hace que todo el proceso sea muy autónomo.

Al principio, estaba un poco molesto por la necesidad de instalar esta extensión, porque necesitaba reinstalar lo que instalé y configuré antes. Pero ahora lo aprecio porque ha aparecido una capa de visualización especial que muestra en qué entorno trabajo y dónde viven mis archivos. Esto hizo que el proceso de desarrollo web en Windows fuera más transparente y simplificó enormemente el uso de la interfaz de usuario para el control de versiones en VS Code.

Lágrimas de felicidad y esperanza para un futuro más brillante.


Tengo una sensación de alegría cuando pienso en el próximo lanzamiento de la actualización de Windows mayo de 2020 y el subsistema de Linux optimizado que solo funciona en mi poderosa computadora para juegos. Puede haber algunos problemas más que aún no conozco, pero después de Insider Preview , concluí que el equipo de WSL resolvió la mayoría de los problemas.

Además, ¡no olvides que Windows Terminal también es bueno! Parecían escuchar mis quejas sobre la falta de pestañas, la configuración de JSON y la necesidad de "sentirse bien" en Windows. Todavía suena extraño, pero Windows Terminal es probablemente la mejor terminal para Windows.

Después de trabajar en Windows durante 5 años, pasé por muchas cosas: la imposibilidad de instalar Rails, la lucha contra los proyectiles artificiales Cygwin. Me senté en primera fila en la misma conferencia de Build 2016 cuando Microsoft anunció la primera versión de WSL. Y luego tuve la esperanza de que el desarrollo web en Windows finalmente alcanzara un nuevo nivel. Sin lugar a dudas, WSL 2 es la mejora más grande que he visto desde entonces, y parece que estamos al borde de una nueva era.



Como un anuncio


Si necesita servidores de Windows para el trabajo , entonces usted está definitivamente la bienvenida a nosotros - la instalación automática de Windows Server 2012, 2016 o 2019 a tasas con 2 GB de RAM o más, una licencia ya está incluido en el precio. ¡Solo a partir de 21 rublos por día ! Y también tenemos servidores eternos;)


All Articles