|
Hoe snel je ook wilt programmeren, uiteindelijk wordt je altijd geremd door de compiler. De compiler van Microsoft Visual Studio 2008 (en waarschijnlijk ook die van 2005, en 2003) is al niet zo snel bij grote projecten, maar om het helemaal mooi te maken: Hij gebruikt maar 1 CPU/Core. In bijna iedere PC zit wel een dual-core processor. De compiler gebruikt er echter maar 1. In het plaatje zie je de CPU belasting van VS 2008. Hij komt nooit boven de 50% uit.
Er is een optie (lees: hack) op beide te core's te gebruiken via een zelf toegevoegde knop die het build process buiten Visual Studio om start, met een vlag om parallel te compileren, zie hier. Dan krijg je wel de build output in VS te zien, maar wordt niet de error/warning lijst gevuld. Leuk om even snel alles te builden als je weet dat het goed zal gaan.
Het is toch al triest dat er maar zo weinig programma's zijn die een multi-core PC goed benutten. Langzaam aan komen er API's ter ondersteuning voor multi-core PC's, zoals Microsoft's PLINQ en Intel's Ct. Eigenlijk hadden we al jarenlang ondersteuning voor multi-core's door gebruik te maken van meerdere thread's. Maar dit is erg moeilijk te implementeren en debuggen. Gelukkig heeft SQL server al meerdere jaren ondersteuning voor multi-core's.
Er is wel 1 groot voordeel aan een dual-core CPU. Als Windows druk bezig is met niets, en daardoor de CPU volledig bezet, dan is dat nog altijd maar 50% van de totale CPU performance. ;-)
ps: Om de compile performance eenvoudig te verbeten, kun je de virusscanner tweaken zodat hij niet alle duizenden sourcefiles opnieuw en opnieuw probeerd te scannen. Maak dan een uitzondering voor jouw project directory en voor "C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files"
|