Heim >Backend-Entwicklung >C++ >Wie kann ich die Ausführungszeit kurzer C-Code-Snippets genau messen?
Die genaue Bestimmung der Ausführungszeit von Code-Snippets in C ist für die Leistungsanalyse und -optimierung von entscheidender Bedeutung. Allerdings reicht die Standardfunktion „clock()“ möglicherweise nicht aus, um kurze Codesegmente zu messen, und gibt häufig „0 Sekunden“ zurück.
Um diese Einschränkung zu beheben, besteht ein genauerer Ansatz darin, die Funktion „GetTimeMs64()“ zu verwenden, die misst verstrichene Zeit in Millisekunden seit der UNIX-Epoche, unabhängig von der Plattform (Windows oder Linux).
#include <ctime> #include <chrono> uint64_t GetTimeMs64() { return std::chrono::duration_cast<std::chrono::milliseconds>( std::chrono::system_clock::now().time_since_epoch() ).count(); }
GetTimeMs64() bietet ein hohes Maß an Präzision mit einer Granularität von 1 Millisekunde auf den meisten Plattformen.
Zur Berechnung der Ausführungszeit Führen Sie zum Erstellen eines Codeausschnitts die folgenden Schritte aus:
uint64_t startTime = GetTimeMs64(); // Execute the code snippet uint64_t endTime = GetTimeMs64(); double executionTime = static_cast<double>(endTime - startTime) / 1000.0;
Die Variable „executionTime“ enthält jetzt die Dauer des Codeausschnitts in Sekunden, mit hoher Präzision.
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausführungszeit kurzer C-Code-Snippets genau messen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!