Antworten:
Scott Gu berichtete auch über die Auswirkungen auf die Erstellungsgeschwindigkeit und verwies hauptsächlich auf E / A- Ressourcen wie die Festplatte.
Der Faktor, den ich gefunden habe, macht den größten Unterschied. Es handelt sich nicht um einen physischen Faktor, sondern um eine Software: Welches Antivirus haben Sie installiert?
Einige Antivirenprodukte können die Softwareentwicklung nicht gut verarbeiten. Sie sehen, dass all diese Anwendungsdateien neu geschrieben werden, verdächtigen Foul-Play und scannen jede Datei jedes Mal neu.
(Weitere Informationen finden Sie unter /programming/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 .)
Wenn Sie jedoch die Leistung eines vorhandenen Computers verbessern möchten, können Sie den verfügbaren Speicher für einen schnellen Gewinn optimal nutzen.
Hier sind einige gute Nachforschungen von Scott Hanselman zur Verwendung mehrerer CPUs für MSBUild. Die Beschleunigungen sind ziemlich dramatisch.
Bearbeiten: Ich sollte jedoch beachten, dass Sie viel RAM benötigen, um eine gute Erfahrung mit Visual Studio zu haben. :)
Meine persönliche Erfahrung mit einer angemessenen C ++ - Codebasis:
Prozessor: Pentium 4 HT 3,06 GHz
Arbeitsspeicher: 1 GB DDR-RAM (PC 2100, also 333 MHz)
Festplatte: 7200 U / min (UDMA 100, wenn Arbeitsspeicher zur Verfügung steht)
Kompilierungszeit: 50 Minuten
Prozessor: Core i7 720QM (8 logische Prozessoren) bei 1,6 GHz, Turbo Boost auf 1,73 GHz, wenn alle Kerne aktiv sind
Speicher: 8 GB DDR3 RAM bei 1066 MHz
Festplatte: 7200 U / min (SATA 2)
Kompilierungszeit: 4 Minuten (mit / MP )
Fazit: Je mehr Prozessoren, desto besser - auch bei relativ geringen Taktraten. Eine SSD würde die Zeiten weiter verbessern, aber von der Beobachtung der Zusammenstellungsnachrichten aus bezweifle ich, dass sie sie um mehr als 30 Sekunden verbessern würde.
Soweit ich mich erinnere, hauptsächlich Prozessor und Speicher. Ein kurzer Blick auf Google enthüllte verschiedene Verbesserungen, die die Kompilierzeiten verbessern können.
Joel hat kürzlich über die Auswirkungen von Solid State Disks auf Kompilierungen hier berichtet . Die Geschwindigkeit der Festplatte verbessert die Kompilierungszeit im Allgemeinen nicht drastisch. Doch nach dieser tut es einen Effekt wie erwähnt durch haben lyngbym .
Bei der Erstellung von C ++ - Programmen ist der wichtigste Faktor die Struktur. Wenn der Quellcode stark vertikal strukturiert ist, hat dies verheerende Auswirkungen auf die Erstellungszeiten, insbesondere bei inkrementellen Erstellungsvorgängen. Ich habe einige Teile eines Projekts lokal umstrukturiert, um eine dramatische Verbesserung des Quad-Core-Xeon zu erzielen. 18 Monate später und sie (die Leute, die das Projekt besitzen) können immer noch nicht mit meinen Wanduhr-Bauzeiten mithalten, auch nicht auf Core i7-Maschinen.
Der Effekt (positiv oder negativ) Ihres Software-Layouts vervielfacht sich bei jedem Mitglied Ihres Teams und bei jedem Build, den es ausführt.
Xoreax IncrediBuild ist ein verteiltes Build-System, das die Kompilierungszeiten, in denen ich arbeite, erheblich verbessert hat. (Leider sind die Verbindungszeiten immer noch ziemlich lang, insbesondere Release-Builds, die die Optimierung des gesamten Programms und die Generierung von Code für die Verbindungszeit verwenden. Dies ist jedoch zu erwarten.)