Tras mucho tiempo considerando a Linux un cáncer y su peor enemigo, recientemente Microsoft le ha cogido un cariño especial a este sistema operativo. Hay cosas que hace unos años nunca hubiéramos imaginado, por ejemplo, que Microsoft iba a empezar a desarrollar software de código abierto, que se iban a liberar partes del código de Windows o que Linux iba a poder instalarse por encima del sistema operativo. Y así es como llegó WSL.
Windows Subsystem for Linux, WSL, o subsistema de Windows para Linux, es una de las herramientas que forman parte del sistema operativo, introducida hace ya varias versiones. WSL nos permite instalar un Linux virtual por encima de nuestro Windows 10, gracias a Hyper-V, de manera que podamos tener acceso al terminal de Linux y a cualquier programa para él. Una característica pensada para desarrolladores y administradores de sistemas pero que ha gustado mucho incluso a los usuarios menos expertos.
Con el lanzamiento de Windows 10 May 2020 Update, Microsoft ha lanzado una nueva versión de este subsistema, WSL2. Esta nueva versión ha llegado para solucionar los problemas, o mejor dicho, las carencias, de la primera versión. Entre sus novedades destaca un diseño mucho más modular y grandes mejoras de rendimiento. Además, Microsoft ha anunciado que en un futuro se podrá actualizar el Kernel desde Windows Update e incluso ejecutar programas de Linux con interfaz gráfica desde WSL2.
A pesar de todas estas mejoras, WSL sigue siendo, a grandes rasgos, un Linux virtualizado. Por lo tanto, ¿sabemos qué diferencia de rendimiento hay entre Linux en WSL, WSL2 o instalado nativamente en un disco duro?
WSL2 está muy cerca del rendimiento de Ubuntu nativo
El portal Phoronix ha puesto a prueba el rendimiento de la versión antigua de WSL, del nuevo WSL2 y de un Ubuntu instalado nativamente en un PC para poder comprobar qué tal funciona el sistema de virtualización de Windows 10.
Para ello, este portal ha usado su propia suite de benchmark, Phoronix Test Suite, con la que ha puesto a prueba los 3 sistemas con docenas de tests, todos ellos bajo las mismas condiciones y circunstancias. De esta manera se ha podido comprobar el buen trabajo que está realizando Microsoft con su subsistema, aunque aún está algo lejos de un rendimiento nativo.
La mayoría de los tests demuestra una considerable evolución de rendimiento de WSL2 frente a WSL1, aunque aún hay diferencia entre este subsistema y el rendimiento nativo de Ubuntu. Sin embargo, cuando se analiza el rendimiento en cuanto al uso de CPU podemos ver que WSL2 está muy cerca de Ubuntu, e incluso en algunos tests le supera en rendimiento.
Sin embargo, al trabajar con APIs o al compilar código fuente se puede ver que aún hay una gran brecha entre WSL y Linux.
También se pueden ver algunas tareas en las que WSL1 supera con creces al rendimiento de WSL2, aunque la verdad es que son casos muy concretos que, poco a poco, se irán depurando. En términos generales se puede ver cómo WSL2 ha mejorado notablemente el rendimiento frente a WSL1, aunque aún tiene bastante margen de mejora para llegar a ofrecer el mismo rendimiento que ofrece un Ubuntu instalado de forma nativa en Windows.
Ubuntu gana, aunque por muy poco
Ubuntu ha terminado en primer lugar, es decir, ha conseguido los mejores resultados, en el 61% de los tests. WSL1 ha quedado en mejor posición en el 22% de los mismos y, por último, WSL2 solo ha quedado en primer lugar en 17% de ellos.
Sin embargo, en la siguiente gráfica podemos ver la media de todas las notas obtenidas. Y es aquí donde podemos ver claramente la evolución entre WSL y WSL2 y lo cerca que está el subsistema de conseguir el mismo rendimiento que un Linux instalado de forma nativa en el PC.
Microsoft sigue trabajando para mejorar el rendimiento de WSL2, y con la primera build de Windows 10 21H1 se ha añadido soporte para poder usar la GPU desde este subsistema de Windows para Linux. Habrá que seguir de cerca cómo sigue mejorando el subsistema y si realmente consigue, en un futuro cercano, igualar o superar a un Ubuntu instalado de forma nativa.