2016-07-11 6 views
0

Gibt es eine Möglichkeit zu messen, wie viel Zeit in einem bestimmten Teil meines C++ - Codes in Visual C++ verbracht wird?Wie kann man die Ausführungszeit in ns, ps oder clk Zyklen in Visual C++ messen?

+2

Für 'ns' überprüfen Sie' std :: chrono'. Für 'ps' werden Sie das nicht bekommen und Taktzyklen sind nicht so aussagekräftig, da sich die Taktfrequenz bei modernen CPUs dynamisch ändert. – drescherjm

+2

Ich empfehle, Testpunkte und ein Oszilloskop zu verwenden. Picosekunden? "Ja wirklich?" Ich dachte nicht, dass der PC so effizient oder konsistent ist. –

+1

Wenn Sie einen Benchmark erstellen, führen Sie normalerweise eine Aufgabe für mehrere Sekunden durch, um eine genaue Ablesung zu erhalten (weil Sie die externen Faktoren nicht eliminieren können, die das Ergebnis verfälschen könnten). Ich meine, was passiert mit Ihrem Timing, wenn das Betriebssystem den Thread einschaltet, den Sie gerade schlafen legen. – drescherjm

Antwort

1

Benötigen Sie es nur zum Debuggen oder benötigen Sie es für die Anwendung, die Sie erstellen? Ich kann Ihnen eine Technik zum Debuggen sagen nur:

  • Put Haltepunkt in der Startcodezeile und ein anderer in Finale ein. Wenn die Ausführung am ersten Haltepunkt stoppt, beobachten Sie im Überwachungsfenster die Variable $clk.
  • Es hat fast sicher einen anderen Wert von Zero. Definieren Sie es auf Null.
  • Warten Sie dann, bis die Ausführung zum zweiten Haltepunkt fließt. Schauen Sie nun in das Watch Window und die Variable $clk hat die Zeit verstrichen.
+0

Oder ... gehen Sie einfach zu Visual Studio 2015. Es zeigt Ihnen die Zeit, die Sie im Code verbringen, während Sie debuggen. Du musst nichts tun. Siehe [Leistungs- und Diagnosetools in Visual Studio 2015] (https://blogs.msdn.microsoft.com/visualstudioalm/2015/07/20/performance-and-diagnostic-tools-in-visual-studio-2015/) oder [Visual Studio 2015 - Analysieren der Leistung beim Debuggen in Visual Studio 2015] (https://msdn.microsoft.com/en-us/magazine/dn973013.aspx) für weitere Informationen. – IInspectable

Verwandte Themen