2009-05-18 5 views
2

Ich habe jetzt ein bisschen Geld für das Hardware-Upgrade gespart. Was würde ich gerne wissen, welches ist der einfachste Weg zu Maßnahme welcher Teil der Hardware ist der Engpass für die Kompilierung und sollte aktualisiert werden?Der einfachste Weg, den Hardware-Engpass der Kompilierungsleistung auf einem einzelnen PC zu ermitteln?

Gibt es clevere Techniken, die ich verwenden könnte? Ich habe in perfmon geschaut, aber es hat zu viele Zähler und ist nicht sehr hilfreich, ohne genau zu wissen, was zu sehen ist.

Bedingungen: Home Entwicklung, Windows XP Pro, Visual Studio 2008

Dank!

+0

Welchen Compiler benutzen Sie? – BobbyShaftoe

+0

Ich benutze den C++ Compiler, der mit VS 2008 (15.00) kommt, aber meine Frage ist eher sprachunabhängig, über die Verwendung von Performance-Mess-Tools. –

Antwort

5

Die Frage ist wirklich "Was ist während der Kompilierung ausgereizt?"

Wenn Sie nicht mit perfmon arbeiten möchten, können Sie etwas wie den Task-Monitor verwenden.

  1. Führen Sie eine Kompilierung aus.

  2. Sehen Sie, was maximal ist.

Haben Sie die ganze Zeit über 100% CPU? Holen Sie mehr CPU - schneller oder mehr Kerne oder etwas.

Haben Sie die ganze Zeit über 100% Speicher? Welche Nummer zählt auf dem Display? Die einzige Erinnerung, die Sie kaufen können, ist "physisches" Gedächtnis. Der einzige wichtige Faktor ist das physische Gedächtnis. Die anderen Dinge, die Sie auf dem Messgerät sehen, sind keine Dinge, die Sie kaufen, sondern Anpassungen, die an die Funktionsweise von Windows angepasst werden müssen.

Sind Sie zu "großen" I/O-Mengen gegangen? Sie können nicht leicht sagen, was "riesig" ist, aber Sie können dies schließen. Wenn Sie keinen Speicher verwenden und keine CPU verwenden, verwenden Sie die einzige Ressource, die übrig ist - Sie sind I/O-gebunden und Sie benötigen einen schnelleren Bus - was normalerweise eine ganz neue Maschine bedeutet.

Eine schnellere HDD hat wenig oder keinen Wert - die Bustaktgeschwindigkeit ist ein limitierender Faktor. Die Busbreite ist der andere begrenzende Faktor. Niemand entwirft einen Ass-Kicking-I/O-Bus und sattelt ihn dann mit Junk-HDDs. Normalerweise entwerfen sie den Bus, der auf der Grundlage verfügbarer HDDs zu einem bestimmten Kostenziel passt.

+0

Ja, aber ich habe ein paar Probleme damit herauszufinden, was "ausgereizt" ist. Nur für den Speicher gibt es z.B. Physischer Speicher, Kernel-Speicher, Shared Memory, Commit Charge, etc. Das ist genau meine Frage: Welche Parameter sind in dieser Hinsicht verräterisch? –

+0

@Alex Jenter: Sie können nur physischen Speicher kaufen, also ist die einzige Zahl, die zählt, der physische Speicher. Die anderen Nummern sind Tuning-Parameter, keine Hardware-Kauf-Parameter. –

+0

Ok mit Speicher und CPU ist klar, aber wie tatsächlich feststellen, ob IO Menge ist riesig? Und warum ist es immer ein schnellerer Bus, aber nie eine schnellere HDD? –

1

die Aufgabe Monitor verwenden bereits vorgeschlagen worden, aber die Sys Internals Aufgabe Monitor gibt Ihnen mehr Informationen als der Monitor integrierten Windows-Aufgabe:

Sys Internals task monitor

Vielleicht möchten Sie auch, was andere Dinge zu sehen sind läuft auf Ihrem PC, die Speicher und/oder CPU-Rechenleistung verbrauchen. Es ist möglicherweise möglich, Dinge mit Bedarf zu entfernen oder nur auszuführen, die sich auf die Leistung auswirken.

Windows XP unterstützt nur 3 GB Speicher mit einem Schalter, den Sie einschalten müssen und Ich erinnere mich, dass Anwendungen geschrieben werden müssen, um dies zu berücksichtigen.

3

Eine schnellere HDD hat wenig oder keinen Wert - die Bustaktgeschwindigkeit ist ein limitierender Faktor. Die Busbreite ist der andere begrenzende Faktor. Niemand entwirft einen Ass-Kicking-I/O-Bus und sattelt ihn dann mit Junk-HDDs. Normalerweise entwerfen sie den Bus, der auf der Grundlage verfügbarer HDDs zu einem bestimmten Kostenziel passt.

Müll. Moderne HDDs sind langsam im Vergleich zu den I/O-Bussen, mit denen sie verbunden sind. Benennen Sie eine einzelne HDD, die eine SATA 2-Schnittstelle (und das ist jetzt eine Generation alt) für zufällige IOPS ... Eine Festplatte ist glücklich, 10 MB/s zu treffen, wenn der Bus rund 280 MB/s ist. Zum Beispiel http://www.anandtech.com/show/2948/3. Selbst dort erreichen die SSDs nur 50MB/s. Es ist klar, dass die IOPs nicht der Flaschenhals sind, sonst würde die HDD genauso viel wie die SSDs tun.

Ich habe noch nie einen Computer IOPs statt gebunden gebundenen gebunden. Es passiert nicht.