|
No
hay herramienta de desarrollo que no pueda ser optimizada en rendimiento. VS 2008
no es una excepción y lo mismo es válido para el tipo de aplicaciones que se pueden
construir con ella. Como todos tenemos que hacer demos en nuestras presentaciones
y queremos que funcionen lo más rápidamente posible, es interesante revisar algunos
de los trucos más relevantes desde dos puntos de vista: la herramienta misma, y
las aplicaciones que podemos construir con ella.
Además,
para que cada uno pueda indagar con más profundidad en cada tema de su interés y
por razones de espacio (porque sino esto sería un libro y no un artículo de la Cueva
del Desarrollo), añado recomendaciones en forma de enlaces para distintos escenarios
y características de optimización.
Bajo el punto de vista de VS 2008, he dado con algunos trucos interesantes:
Acerca de las condiciones de los discos duros: Scott Guthrie
sugiere algunos trucos curiosos en: "
Tip/Trick: Hard Drive Speed and Visual Studio Performance" y el Jefe de la
División de Desarrollo en MS-Redmond, Soma Somasegar, también añade los siguientes:
·
Reconstruir un proyecto Visual Basic y ejecutar el compilador en “background” es 3 veces
más rápido y utiliza un tercio de memoria menos. Más datos sobre esto
aquí.
Recorrer ficheros grandes en C# con el Editor es 100% más rápido que antes, mientras
que teclear texto nuevo es 50% más rápido.
El tiempo de respuesta de Intellisense con tipos grandes en C# es 10 veces
más rápido que antes
La compilación incremental se realiza 90% más rápido en soluciones C++/CLI que anteriormente.
Más datos sobre esto en este
enlace
Los ficheros de Office Word y Excel, se procesan 20 veces más rápido en el servidor.
El proceso de comandos del control de versión de Team Foundation Server ha sido
reescrito para soportar operaciones sin límite de carga en los comandos principales
y sin depender de la memoria disponible en el servidor. En las pruebas, los comandos
se ejecutaban del 10% al 60% más rápido, con las mejoras más notables asociadas
con los proyectos más grandes. Puede leerse más acerca de las mejoras en escalabilidad
del TFS
aquí y
aquí
También
existen mejoras de rendimiento que explotan el hardware “multi-core”, por ejemplo
el soporte multi-hilo añadido a MSBuild. Además, utilizando el switch
/MP switch,
puede mejorarse significativamente el tiempo de compilación en proyectos C++ -ellos
afirman que se botienen rendimientos de mejora del 30% en la construcción de un
Front-End C++ cuando se dispone de este tipo de hardware dual-core. Otras mejoras
siginificativas del rendimiento afectan al runtime de NET 3.5 a la hora de gestionar
los hilos de ejecución del CLR en aplicaciones multi-hilo de todas clases.
Estos cambios arquitectónicos, cuando se combinan con los cambios en las API’s de sockets,
mejoran notablemente los procesos de entrada salida con sockets asíncronos, llegando
hasta un 70% con un procesador dual-core disponible. Las implicaciones de estas
mejoras en el rendimiento están disponibles
aquí.
Por otra parte, o sea, en la optimización de aplicaciones, existen numerosas referencias
de interés, dependiendo, otra vez, del tipo de aplicación que se quiere construir.
Uno de los mejores sitios sobre optimización de aplicaciones que he visto es el
sitio web dotnetslackers.com
en su página Performance.
Es una colección de enlaces, (incluyendo algunos
de los mencionados más arriba) sobre muchísimos trucos y técnicas de optimización.
|