Der Faktor, den ich gefunden habe, macht den größten Unterschied, ist nicht ein physikalischer Faktor, sondern ein Software-Faktor: Welchen Virenschutz haben Sie installiert?
Einige Antiviren-Produkte beherrschen die Softwareentwicklung nicht sehr gut. Sie sehen alle Anwendungsdateien neu geschrieben, verdächtigen das Foulspiel und scannen jede Datei jedes Mal neu.
Wenn Sie dagegen die Leistung einer vorhandenen Maschine verbessern möchten, ist nichts besser als der verfügbare Speicher für einen schnellen Gewinn.
PC im Büro verwendet den TrendMicro OfficeScan. Mein Dev-Laptop zu Hause verwendet AVG 8.
Rob Allen vor 15 Jahren
0
"Trend Micro". Ach je. Wenn Sie das nicht für etwas anderes ändern können, verabschieden Sie sich von jeder Aufführung.
Bevan vor 15 Jahren
3
9
lyngbym
Scott Gu berichtete auch über die Auswirkungen auf die Geschwindigkeit des Gebäudes, wobei er hauptsächlich auf E / A- Ressourcen wie die Festplatte verweist .
Hier ein paar schöne Forschungsergebnisse von Scott Hanselman zur Verwendung mehrerer CPUs für MSBUild. Die Beschleunigungen sind ziemlich dramatisch.
Edit: Ich sollte jedoch beachten, dass Sie für den Umgang mit Visual Studio viel Arbeitsspeicher benötigen. :)
+1 Guter Artikel zum Thema. Ich habe das vergessen. Ich glaube, er hat auch einen Podcast dazu gemacht.
BinaryMisfit vor 15 Jahren
0
4
mmyers
Meine persönliche Erfahrung mit einer C ++ - Codebasis von angemessener Größe:
Alte Maschine
Prozessor: Pentium 4 HT 3.06 GHz Speicher: 1 GB DDR-RAM (PC 2100, also 333 MHz) Festplatte: 7200 U / min-Festplatte (UDMA 100, wenn der Speicher dient) Compilierzeit: 50 Minuten
Neue Maschine:
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-Festplatte (SATA 2) Compilierzeit: 4 Minuten (mit / MP )
Fazit: Je mehr Prozessoren, desto besser - auch bei relativ niedrigen Taktraten. Eine SSD würde die Zeiten weiter verbessern, aber aufgrund der Beobachtung der Zusammenstellungsnachrichten bezweifle ich, dass sie sich um mehr als 30 Sekunden verbessern würde.
3
BinaryMisfit
Soweit ich mich hauptsächlich an Prozessor und Speicher erinnere. Ein schneller Google-Server 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 Festplattengeschwindigkeit verbessert die Kompilierzeit im Allgemeinen nicht drastisch. Doch nach dieser hat es eine Wirkung haben, wie darauf hingewiesen lyngbym .
1
bk1e
Xoreax IncrediBuild ist ein verteiltes Build-System, das die Kompilierzeiten, in denen ich arbeite, erheblich verbessert hat. (Die Verbindungszeiten sind leider immer noch ziemlich lang, insbesondere bei der Erstellung von Versionen, die die Optimierung des gesamten Programms und die Generierung von Verbindungszeitcode verwenden, aber das ist zu erwarten.)
1
Sam Harwell
Für die Erstellung von C ++ - Programmen ist der Faktor # 1 vor allem struktureller Natur. Wenn der Quellcode stark vertikal strukturiert ist, hat dies verheerende Auswirkungen auf die Bauzeiten, insbesondere auf inkrementelle Builds. Ich habe ein paar Teile eines Projekts lokal umstrukturiert, um eine drastische Verbesserung eines Quad-Core-Xeon zu erreichen. 18 Monate später, und sie (die Personen, denen das Projekt gehört) können auch auf Core-i7-Maschinen nicht mit meinen Wanduhrzeiten übereinstimmen.
Der Effekt (positiv oder negativ) Ihres Software-Layouts multipliziert sich mit jedem Mitglied Ihres Teams und jedem Build, das er ausführt.
Haben Sie einen Link, der die verschiedenen Codestrukturen beschreibt? Ich glaube, ich weiß, worauf Sie sich beziehen, aber ich bin nicht sicher.
Rob Allen vor 15 Jahren
0
Ich habe Probleme, meine Referenzen zu finden, aber die allgemeine Idee ist 1) Verwenden Sie Forward-Deklarationen, 2) Include-Dateien nur, wenn eine Forward-Deklaration nicht funktioniert. 3) Vergewissern Sie sich, dass die hinzugefügte Datei keine weiteren deklariert Dinge als notwendig, was wiederum dazu führen könnte, dass es mehr Dateien enthält, die Sie sonst nicht für die bestimmte Quelldatei benötigen, die kompiliert wird (dh, halten Sie die Header klein und verwenden Sie Forward-Deklarationen, genau wie Sie es für Quelldateien tun).
Sam Harwell vor 15 Jahren
0