Estoy trabajando en una solución de mediano tamaño ASP.NET MVC con Visual Studio 2010 y Resharper. El proyecto estaba ardiendo rápidamente cuando comencé a desarrollarlo hace 1 1/2 años, pero con el tiempo se ha vuelto más lento, no solo la compilación, sino también el tiempo que le lleva a ASP.NET reiniciar el sitio web. Como estoy practicando TDD y refactorizando con bastante frecuencia, con frecuencia necesito recompilar y volver a ejecutar mis pruebas, por lo que estoy buscando formas de mitigar esto si es posible.Agilización de la compilación y pruebas unitarias en Visual Studio 2010/Resharper/ASP.NET MVC
El problema en detalle
Me lleva unos 20-25 segundos de comenzar a compilar el proyecto para poder ver el resultado en un navegador web.
Ejecutar una prueba unitaria (solo una prueba, no toda la suite) con el corredor de prueba Resharper también es muy lento (unos 15-20 segundos). Por alguna extraña razón, parece que Resharper se toma la mayor parte del tiempo inicializando la ejecución de la prueba y solo gasta una pequeña fracción en la ejecución de la prueba.
lo que ya he hecho:
- sustituido el disco duro con un SSD (enorme impacto)
- Movido compilación de ASP.NET y el directorio directorio Temp de Windows a SSD-como (hardware) Unidad RAM (gran impacto, pero eso fue antes de SSD)
- Compilación automática deshabilitada de un proyecto que raramente modifico (Pequeño impacto ya que ese proyecto es pequeño de todos modos).
- Eliminado referencias innecesarias a .NET y bibliotecas de terceros (impacto muy pequeño, si corresponde)
- Algunos trucos de magia negra se tratan en this blog post. (impacto muy pequeño, si hay alguno).
Sin embargo, todavía estoy atascado con las cifras (¿lento?) De arriba y siento que esto está perjudicando mi productividad. Ahora me pregunto qué hacer a continuación.
Mi configuración actual del sistema:
- Core 2 Quad Q6600 CPU
- 4 GB DDR2 800 RAM
- 120 GB SSD
- Windows 7 x64
- Visual Studio 2010 Ultimate con ReSharper 5.5
las especificaciones de mi solución:
- 22.000 líneas de .NET C# 4 Código
- 3 proyectos: Una ASP.NET MVC, un proyecto de prueba, una biblioteca de uso general pequeño es incluida por los otros dos y el cual No compilo a menos que algo haya cambiado.
- 35 referencias a otras bibliotecas (.NET y otras cosas de código abierto)
- ~ 200 Vistas
- 850 Unidad de Pruebas de
Ahora mis preguntas:
- Would actualizar mi memoria RAM de 8 GB me podía dar un impulso significativo rendimiento ?
- ¿Estas cifras son normales? O tal vez esto podría ser un problema con mi solución?
- ¿Qué probarías a continuación (aparte de comprar una computadora completamente nueva)?
Gracias,
Adrian
Editar: Una cosa particularmente extraño es que cuando pulso el botón "Generar solución", Visual Studio gasta unos 8 segundos me muestran un símbolo de espera hasta que se en realidad comienza a compilar y la ventana de compilación se está actualizando. El IDE no es receptivo durante este período. Esa es una buena parte del tiempo de compilación real. Me pregunto qué está haciendo Visual Studio durante este período.
¿Cuántos proyectos? ¿Cómo es el estado de dependencia interna de los proyectos? Si vuelve a ejecutar la misma prueba ¿tarda el mismo tiempo? – Jaime
¿Puedes descargar cualquier proyecto? Esto los excluye del proceso de compilación ... –
Tengo una configuración similar con 6Gb de RAM pero sin SSD. El VS2010 es extremadamente lento para cargar y compilar: he descubierto que inhabilitar ReSharper tiene un efecto muy positivo. Desafortunadamente, he llegado a confiar en esta muleta en particular ... er ... plug-in y he decidido que el dolor probablemente valga la pena en mi caso. – nerraga