Domanda

Le nostre attuali soluzioni / progetti hanno diverse classi combinate in un unico file, mi è stato detto che questo è stato fatto a causa dei tempi di compilazione lenti in VS.

È un problema e una soluzione confermati?

Possiamo dividerli ora che stiamo usando il sistema VS2008 Team? Qualcun altro ha separato le classi in file diversi e ha comunque avuto buone prestazioni?

È stato utile?

Soluzione

Lavoro nel team IDE di VB.Net e posso dirti che mettere tutto in 1 file renderà VS più lento, non più veloce. VB.Net funziona perfettamente con le classi in diversi file.

L'unica volta in cui ciò farebbe la differenza è se avessi un disco rigido incredibilmente lento e file che si trovavano su parti molto diverse dei dischi fisici (risultando in una ricerca sempre più lunga). In generale questo non dovrebbe essere un problema e per l'IDE VB.Net questo sarebbe solo un problema durante l'avvio iniziale. Abbiamo diversi livelli di memorizzazione nella cache che potrebbero aiutare a eliminare anche questo tipo di problemi.

Potresti essere in grado di scoprire alcuni vantaggi minimi di questo approccio se consideri solo il tempo grezzo impiegato dal compilatore della riga di comando per funzionare. IMHO, i numeri più importanti sono la reattività di Visual Studio e i relativi tempi di costruzione per Visual Studio. La reattività VS diminuirà se sono presenti file estremamente lunghi (che è ciò che accadrà alla fine se si inserisce una classe in un singolo file).

Altri suggerimenti

Com'è il tuo hardware?

Il grande collo di bottiglia con VS è che deve leggere e scrivere un sacco di piccoli file.

Un disco rigido veloce o due possono migliorare il carico delle prestazioni!

Sto usando C # anziché VB.NET, ma non ho mai riscontrato problemi di prestazioni del compilatore. Sembra che questa sia una sorta di ottimizzazione prematura. Non mi interessa per quanto tempo il mio server di build ha bisogno per compilare l'applicazione. Non sacrificare la chiarezza per le prestazioni del tempo di costruzione.

Sembra che potresti voler provare a convincere il tuo team a esaminare il design della soluzione; potrebbe non essere ottimale disporre di un'unica soluzione gigante con tutti i progetti presenti. Se i tempi di costruzione sono davvero un problema, preferirei risolverlo suddividendo la soluzione in parti logiche, se possibile.

Non credo che raggruppare molte classi in un singolo file migliorerà significativamente le prestazioni di compilazione per i progetti normali. Dovrebbe essere sicuro suddividerli in più file (uno per classe è standard).

L'unica eccezione che ho riscontrato è " Sito Web " progetti. Non ho dati scientifici, ma questi sembrano rallentare all'aumentare del numero di file. Per risolvere il problema, puoi convertirlo in un'applicazione Web " progetto.

È noto che avere troppi progetti in una soluzione rallenta VS, ma questo non sembra il tuo problema.

Questo è un problema confermato e una soluzione confermata. Alla Tech Ed quest'anno hanno detto che non sarà più un problema in VS2010, di cui è possibile scaricare una versione beta e provare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top