Yanıtlar:
Scott Gu, temel olarak sabit disk gibi I / O kaynaklarına işaret ederek bina hızını neyin etkilediğini de belirtti .
Bulduğum faktör en büyük farkı fiziksel bir faktör değil, bir yazılım faktörü oluşturuyor: Hangi anti-virüsü kurdunuz?
Bazı anti-virüs ürünleri yazılım geliştirmeyi çok iyi idare etmez - tüm bu uygulama dosyalarının yeniden yazıldığını görür, her zaman hatalı oynatıldığından şüphelenir ve her dosyayı yeniden tarar.
(Daha fazla bilgi için /programming/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 adresine bakın .)
Öte yandan, mevcut bir makinenin performansını artırmak istiyorsanız, hızlı bir kazanç için hiçbir şey kullanılabilir belleği geçemez.
İşte bazı güzel araştırmalar Scott Hanselman'ın MSBUild için birden fazla CPU kullanma konusunda . Hızlanmalar oldukça dramatik.
Düzenleme: Ancak, Visual Studio kullanarak iyi bir deneyim elde etmek için bol miktarda RAM gerekir unutmayın. :)
Adil bir C ++ kod tabanı ile kişisel deneyimim:
İşlemci: Pentium 4 HT 3.06 GHz
Bellek: 1 GB DDR RAM (PC 2100, yani 333 MHz)
Disk: 7200 RPM sabit sürücü (bellek çalışıyorsa UDMA 100)
Derleme süresi: 50 dakika
İşlemci: Core i7 720QM (8 mantıksal işlemci) 1,6 GHz'de, tüm çekirdekler aktifken turbo güçlendirme 1,73 GHz'e kadar
Bellek: 1066 MHz'de 8 GB DDR3 RAM
Disk: 7200 RPM sabit sürücü (SATA 2)
Derleme süresi: 4 dakika (ile / MP )
Sonuç: İşlemciler ne kadar fazla olursa, nispeten düşük saat hızlarında bile o kadar iyidir. Bir SSD zamanları daha da geliştirirdi, ancak derleme mesajlarının gözlemlenmesinden sonra, 30 saniyeden fazla geliştireceğinden şüpheliyim.
Hatırladığım kadarıyla esas olarak İşlemci ve Bellek. Hızlı bir google, derleme sürelerini iyileştirebilecek çeşitli değişiklikler ortaya koydu.
Joel kısa bir süre önce burada Katı Hal Disklerinin derlemeler üzerindeki etkisini açıkladı . Disk hızı genellikle derleme süresini önemli ölçüde iyileştirmez. Ancak göre bu o kadar sivri bitmesi gibi bir etkisi var lyngbym .
C ++ programları oluşturmak için, her şeyden önce # 1 faktörü yapısaldır - kaynak kodu dikey olarak yapılandırılmışsa, yapım süreleri, özellikle artımlı yapılar üzerinde yıkıcı bir etkiye sahip olacaktır. Dört çekirdekli bir Xeon'da dramatik bir gelişme için bir projenin birkaç bölümünü yerel olarak yeniden yapılandırdım. 18 ay sonra ve onlar (projenin sahibi olan insanlar) Core i7 makinelerinde bile duvar saati yapım sürelerime uymuyor.
Yazılım mizanpajınızın etkisi (pozitif veya negatif) ekibinizin her üyesi ve gerçekleştirdikleri her yapı arasında çoğalır.
Xoreax IncrediBuild , çalıştığım derleme sürelerinde büyük bir gelişme kaydeden dağıtılmış bir yapı sistemidir. (Ne yazık ki, bağlantı süreleri hala oldukça uzundur, özellikle tüm program optimizasyonu ve bağlantı zamanı kod üretimi kullanan sürümleri yayınlar, ancak bu beklenen bir durumdur.)