Blog Archive

 

 About this blog

 
About this blog 
Your Name 
Course-Schedule

System Account

Optimización y rendimiento en VS2008

2008-01-30 19:48:00 por System Account

1/29/2008

Trucos y consejos de rendimiento para Visual Studio 2008

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.

 

Marino Posadas

January 2008

Comments

No Comments
Leave a Comment
(*) Title:
(*) Name:
Your URL:
(*) Comments:
Follow us on: