Pregunta

Nuestras soluciones / proyectos actuales tienen varias clases combinadas en un solo archivo, me dijeron que esto se hizo debido a los lentos tiempos de compilación en VS.

¿Es este un problema confirmado y una solución?

¿Podemos separarlos ahora que estamos usando el sistema VS2008 Team? ¿Alguien más ha separado las clases en diferentes archivos y aún así ha tenido un buen rendimiento?

¿Fue útil?

Solución

Trabajo en el equipo de IDE de VB.Net y puedo decirle que poner todo en 1 archivo hará que VS funcione más lento, no más rápido. VB.Net funciona bien con clases en diferentes archivos.

La única vez que esto marcaría la diferencia es si tuviera un disco duro increíblemente lento y archivos que estuvieran en partes muy diferentes de los discos físicos (lo que daría como resultado obtener más y más instrucciones). En general, esto no debería ser un problema y para el IDE de VB.Net solo sería un problema durante el inicio inicial. Tenemos varias capas de almacenamiento en caché que ayudarían a eliminar incluso este tipo de problemas.

Usted puede ser capaz de descubrir algunos beneficios mínimos para este enfoque si solo considera el tiempo bruto que le toma al compilador de línea de comandos operar. En mi humilde opinión, los números más importantes son la capacidad de respuesta de Visual Studio y el tiempo de construcción relativo para Visual Studio. La capacidad de respuesta de VS disminuirá si tiene archivos extremadamente largos (que es lo que eventualmente ocurrirá si coloca alguna clase en un solo archivo).

Otros consejos

¿Cómo es su hardware?

El gran cuello de botella con VS es que necesita leer y escribir muchos archivos pequeños.

¡Un disco duro rápido o dos pueden mejorar las cargas de rendimiento!

Estoy usando C # en lugar de VB.NET, pero nunca encontré problemas de rendimiento del compilador. Parece que esto es algún tipo de optimización prematura. No me importa cuánto tiempo necesita mi servidor de compilación para compilar la aplicación. No sacrifique la claridad por el rendimiento del tiempo de construcción.

Suena como si quisiera tratar de persuadir a su equipo para que estudie el diseño de la solución; Puede que no sea óptimo tener una solución gigante con todos los proyectos allí. Si los tiempos de construcción son realmente un problema, preferiría resolverlo dividiendo la solución en partes lógicas, si es posible.

No creo que agrupar muchas clases en un solo archivo mejorará significativamente el rendimiento de compilación para proyectos normales. Debería ser seguro dividirlos en más archivos (uno por clase es estándar).

La única excepción con la que me he encontrado es " Sitio web " proyectos No tengo ningún dato científico, pero estos parecen ser más lentos a medida que aumenta el número de archivos. Para solucionarlo, puede convertirlo en una " Aplicación web " proyecto.

También se sabe que tener demasiados proyectos en una solución hace que VS sea lento, pero eso no parece ser su problema.

Este es un problema confirmado y una solución confirmada. En Tech Ed este año, dijeron que ya no será un problema en VS2010, del que puedes descargar una versión beta y probarla.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top