Vamos a hacernos una pregunta y nos la vamos a intentar contestar (más bien nos la van a intentar contestar): ¿Se toman en serio en Microsoft las prestaciones de Windows 7? ¿Son conscientes de las quejas, dudas, lamentos de los usuarios en cuanto a las prestaciones de Vista? ¿Será mejor, más rápido, más eficiente el nuevo Windows?
Ya hemos visto cómo en Internet empiezan a abundar pruebas de rendimiento realizadas sobre versiones preliminares de Windows 7 más o menos rigurosas. Todas, como hemos dicho, con el hándicap de que se trata de versiones preliminares. Los resultados han dado pié a afirmaciones contradictorias en las que los que dicen que es lo mejor que se ha inventado desde el Capuccino con cacao en polvo hasta los que se rasgan violentamente las vestiduras y afirman que no es más que un Vista maquillado como una reina del carnaval.
Pero ¿para qué sirve un banco de pruebas? O más bien ¿para qué debería servir? Dirijamos por un momento los ojos a Microsoft. Esto, en lo que a Windows 7 se refiere, es sinónimo de acudir al interesantísimo blog Engineering WIndows 7 donde los desarrolladores del sistema, con su jefe Steve Sinofsky a la cabeza, dan información sobre el desarrollo del sistema a la vez que reciben comentarios por parte de los usuarios (y aunque parezca increible, les contestan).
La última entrada aparecida tiene un titular poderosamente atractivo: “Continuando nuestra discusión sobre las prestaciones”. A finales de agosto ya pudimos disfrutar en dicho blog de una interesante reflexión por parte de Sinofsky con respecto a qué aspectos estaba teniendo en cuenta el equipo para ajustar las prestaciones del sistema. En esta ocasión, el post se dirige a cómo se están midiendo esas prestaciones y qué se hace para identificar los elementos que están influyendo en ellas.
¿Qué nos cuenta Sinofsky (y compañía) en esta ocasión? En primer lugar advierte, refiriéndose a los bancos de pruebas que se han podido ver en la red, que las pruebas sobre versiones preliminares no son indicativas de las prestaciones reales del sistema. Es un mantra que parece haber contagiado a todos los responsables de Microsoft a la hora de valorar las prestaciones de Windows 7. Eso sí, no puede evitar dejar escapar una sonrisilla que transparenta en el texto: “En cualquier caso estamos contentos de que tantos hayan visto resultados positivos hasta ahora“.
Luego nos cuenta que en su equipo se realizan constantemente pruebas de rendimiento, pero bastante más complejas que encender el ordenador y plantarse delante de la pantalla cronómetro en mano. En primer lugar detalla las tres maneras tradicionales en las que se realizan pruebas:
Micro bancos de prueba: Son test a los que se somenten los distintos elementos del sistema. Se lleva a los subsistemas que componen el sistema operativo a pruebas de estrés extremas para medir prestaciones y robustez del código. Pone como ejemplo la aparentemente sencilla operación de copiar. Esta operación no solo conlleva movimiento de ficheros, sino un indicador de progres, un contador de bytes, cálculo del tiempo restante, chequeo de si el usuario ha cancelado la operación, gestión de esta cancelación… Cada elemento tiene que ser sopesado y ajustado al máximo.
Escenarios específicos: Para medir las prestaciones del sistema hay que hacrlo en situaciones comuntes, como la inserción de una memoria USB o la reproducción de un DVD. El objetivo es mejorar el funcionamiento del sistema operativo cuando varios elementos de éste se ponen en marcha para realizar una tarea determinada. Es posible que optimizar una parte que no es utilizada demasiado en ningún escenario sea menos rentable que hacerlo con otras, y esas conclusiones pueden sacarse analizando distintos escenarios (cuantos más mejor). Se trata pues de bancos de pruebas en situaciones concretas, un poco como los programas de bancos de pruebas comerciales.
Ajuste del sistema: Es algo a lo que los usuarios de Windows estamos acostumbrados. Toquetear parámetros de todo tipo e incluso mancharnos las manos con la grasa del archivo de registro para lograr un poco más de prestaciones. En los laboratorios de Redmond también tienen en cuenta este tipo de ajustes. Es una de las ventajas de trabajar con la base de Vista. Los equipos de programadores trabajan en ajustar el código común para que éste funcione más rápidamente, comparando contínuamente las prestaciones de Vista con la evolución de Windows 7. Un ejemplo que pone Sinofsky es el del uso de memoria del gestor de ventanas, comprobable directamente a través del gestor de tareas. Estos bancos de pruebas son comparativos, tienen en cuenta las prestaciones de anteriores versiones.
Además de las pruebas intetnas, para mejorar el sistema se han proporcionado herramientas de prueba disponibles para que los fabricantes puedan comprobar las prestaciones de Windows 7 con su hardware. El ajuste pues se realiza no solo por parte de los que desarrollan el sistema operativo sino por parte de los fabricantes de hardware,, que pueden ajustar sus controladores midiendo las prestaciones. También se monitorizan los propios ordenadores de los desarrolladores para detectar posibles problemas de rendimiento.
Sin embargo el sistema de pruebas que realmente está dando resultados y del que el equipo de Windos 7 está obteniendo información realmente significativa es la aplicación PerfTrack. Se trata de un sistema de telemetría que se incorpora a todas las versiones preliminares de WIndows 7 que se distribuyen y se distribuirán a los usuarios y desarrolladores. Esta utilidad monitoriza 500 escenarios distintos dentro de los usos del sistema, como copia de ficheros, navegación por Internet, arranque del sistema, búsqueda de ficheros…
Esto permite controlar esos 500 escenarios en una variedad muy grande de configuraciones, por lo que los datos que se reciben de cada uno de los escenarios son muy completos y permiten analizar con detalle posibles problemas de rendimiento. Se podría decir que se trata de un banco de pruebas en paralelo, en el que los resultados dependen de los datos obtenidos por infinidad de bancos de prueba idénticos en entrornos y configuraciones distintas.
Los desarrolladores pueden pedir más detalles del funcionamiento de los elementos con problemas de rendimiento para hacer un seguimiento del código de esa parte del sistema, filtrar resultados por configuraciones específicas, por cantidad de memoria, por ordenadores que tengan un driver concreto. Se puede ir a la caza del problema de forma muy precisa. En la gráfica de la imagen los desarrolladores se han puesto unas metas que consideran razonables para un determinado proceso. El sistema permite obtener más información de los equipos que están en “la zona roja”.
Un sistema realmente ingenioso que “democratiza” de tal manera las pruebas de rendimiento, distribuyéndola a lo largo de una red de ordenadores en los que se monitorizan esas 500 “operaciones del sistema operativo” que los resultados son realmente significativos. Una muestra más de que estos chicos van en serio.