Ich möchte bald einen neuen Computer kaufen und möchte eine Maschine mit der besten Leistung für schnelle Kompilierungszeiten.
Sollte ich mir also eine Quad-Core-CPU mit dem höchsten GHz zulegen, die ich mir leisten kann, oder sollte ich stattdessen in RAM mit höherer Geschwindigkeit investieren?
Was ist Ihre Empfehlung für welche Art von RAM sollte ich wählen?
Die Grafikleistung spielt keine Rolle, es wird eine Menge Software kompiliert und mathematische Simulationen ausgeführt.
Wahrscheinlich wird RAM Ihnen einen größeren Knall für das Geld geben. Das Kompilieren, insbesondere großer Anwendungen, ist sehr E / A-intensiv. Wenn Sie mehr RAM haben, können Sie mehr Zeit beim Paging auf und von der Festplatte sparen. Die meisten CPUs von heute, insbesondere wenn Sie mit einem billigen Quad-Core arbeiten, bieten viel CPU-Leistung für das Kompilieren, aber der Arbeitsspeicher hilft beim Hin- und Hergehen der Daten.
Beim zweiten Gedanken hängt es irgendwie von Ihren mathematischen Simulationen und Erstellungsprozessen ab. Sind sie parallelisierbar? Wenn nicht, führt das Hinzufügen weiterer Kerne nicht wirklich zu einer Beschleunigung, obwohl die neuen Intel-Chips (Core i7) pro Kern recht schnell sind.
quelle
Ich würde sagen, Sie bekommen jede Menge RAM und verwenden RAM-Disks für die temporäre Speicherung. Dies erhöht die Kompilierungsgeschwindigkeit erheblich. Eine schnelle Multi-Core-CPU wäre auch in Ordnung, aber ich denke, dass Sie mehr von viel RAM profitieren würden. In diesem Artikel finden Sie einige Ideen. Hier ist ein paar mehr Informationen und mehr einige hier . Ich denke, dass die Verwendung von RAM schneller ist als die Verwendung von SSD, aber ich könnte mich irren.
quelle
Für Ihre Berechnungen ist Ihr Prozessor bei weitem am wichtigsten.
Die Kompilierung belastet sowohl Ihren Prozessor als auch den Arbeitsspeicher.
Ich denke, Ihre kostengünstigste Lösung wäre, die beste CPU zu erhalten, die Sie sich leisten können, und vorzugsweise einen Quad-Core. Da RAM so billig ist wie es ist (DDR3 ist jetzt so billig wie DDR2), können Sie einfach so viel RAM anschließen, wie Sie für eine kleine Münze benötigen (16 GB DDR3 für 180 US-Dollar bei Newegg ... Ich weiß, das ist übertrieben, Ich versuche nur zu demonstrieren, wie billig es ist. Ich würde also so viel wie möglich in eine hochwertige CPU investieren.
quelle
make
mit der-j
Option. Ich glaube auch, dass llvm eine einzelne Datei mit mehreren Threads kompilieren kann oder wird.distcc
(make -j8
(lokal) bismake -j30
(verteilt über das Netzwerk))Nun, Grafiken könnten helfen, da eine Grafikkarte mit einer CPU die Belastung der Haupt-CPU verringern kann. Die CPU-Leistung ist wahrscheinlich wichtiger als der Arbeitsspeicher, aber je besser beide sind, desto besser geht es Ihnen.
quelle
Aufgrund physikalischer Einschränkungen werden die Kerne selbst nicht so schnell viel schneller. Wenn Sie also nicht vorhaben, in kundenspezifisches Silizium zu investieren, das in schnellere CPUs investiert, wird Ihr Problem nicht gelöst, es sei denn, die Parallelisierung wird wirklich einen Unterschied machen, aber so oder so kommen viele Software-Programme kaum über 4 Kerne hinaus Ich weiß es, weil ich sehr oft mein gesamtes System kompiliere und oft nach Ressourcenstatistiken schaue. Selbst wenn die Entwickler die Parallelisierung erhöhen wollten, ist es manchmal schwierig, sie auf eine gute Art und Weise zu erstellen. Investitionen in CPUs sind gut, um entweder die Serviceleistung zu steigern oder wenn Sie Berechnungen zunächst auf der Grundlage von Daten durchführen. auch wenn es später das Ausführungsverhalten beeinflusst; Wenn Ihre Kompilierungen einigen dieser Muster folgen, ist es möglicherweise schwieriger zu diskutieren, aber dies sind einige Sonderfälle für den Erstellungsprozess. Aus diesem Grund machen beispielsweise beim grafischen Rechnen immer noch mehr Kerne einen Unterschied. Abgesehen davon, dass Sie alles tun, um die E / A so weit wie möglich zu erhöhen, kann es sich um Festplatten, RAMs und Motherboards handeln
quelle