Tatsächlich versuche ich die Zeit zu berechnen, die eine Funktion in meinem Programm benötigt. So verwende ich die Logik, um Systemzeit zu erhalten, wenn ich die Funktion und Zeit aufrufen, wenn die Funktion einen Wert zurückgibt, indem ich die Werte subtrahiere, die ich Zeit bis zum Abschluss erhielt. Also, wenn jemand kann mir etwas besseren Ansatz erzählen oder einfach nur, wie Systemzeit, zu einer Instanz zu bekommen, es wäre eine ganz HilfeWie bekomme ich Systemzeit in C++?
Antwort
Ihre Frage hängt völlig davon ab, welches System Sie verwenden. Jedes System hat seine eigenen Funktionen, um die aktuelle Zeit zu erhalten. Um herauszufinden, wie lange das System läuft, sollten Sie auf einen der "High Resolution Performance Counters" zugreifen. Wenn Sie keinen Leistungsindikator verwenden, sind Sie normalerweise auf eine Genauigkeit im Mikrosekundenbereich (oder schlechter) beschränkt, die für die Profilerstellung der Geschwindigkeit einer Funktion nahezu nutzlos ist.
In Windows können Sie den Zähler über die ‚Queryperformancecounter()‘ Funktion zugreifen. Dies gibt eine beliebige Zahl zurück, die auf jedem Prozessor unterschiedlich ist. Um herauszufinden, wie viele Ticks im Counter == 1 Sekunde sind, rufen Sie 'QueryPerformanceFrequency()' auf.
Wenn Sie unter einer anderen Plattform als Windows codieren, googlen Sie einfach den Leistungsindikator und das System, unter dem Sie programmieren, und es sollte Ihnen sagen, wie Sie auf den Zähler zugreifen können.
Edit (Klärung)
Dies ist C++, nur windows.h umfassen und importieren Sie die "Kernel32.lib" (scheint mein Hyperlink entfernt zu haben, in der Dokumentation überprüfen unter: http://msdn.microsoft.com/en-us/library/ms644904.aspx). Für C# können Sie die Klasse "System.Diagnostics.PerformanceCounter" verwenden.
ist dies für C# oder es funktioniert für C++ auch wenn ja welche Bibliothek (Header-Datei) – Mobin
Sie können time_t
Der Ansatz, den ich verwenden, wenn mein Code Timing ist die Zeit () Funktion. Sie gibt einen einzelnen numerischen Wert an Sie zurück, der epoch darstellt, wodurch der Subtraktionsteil für die Berechnung einfacher wird.
Relevante Code:
#include <time.h>
#include <iostream>
int main (int argc, char *argv[]) {
int startTime, endTime, totalTime;
startTime = time(NULL);
/* relevant code to benchmark in here */
endTime = time(NULL);
totalTime = endTime - startTime;
std::cout << "Runtime: " << totalTime << " seconds.";
return 0;
}
Denken Sie daran, dies ist benutzer Zeit. Für CPU, Zeit siehe Bens Antwort.
Versuchen Sie unter Linux gettimeofday()
für Mikrosekundenauflösung oder clock_gettime()
für Nanosekundenauflösung.
(Natürlich ist die tatsächliche Uhr kann eine gröbere Auflösung.)
In einigen System, das Sie keinen Zugriff auf den time.h Header haben. Daher können Sie das folgende Code-Snippet verwenden, um herauszufinden, wie lange es dauert, bis Ihr Programm ausgeführt wird, und zwar mit der Genauigkeit von Sekunden.
void function()
{
time_t currentTime;
time(¤tTime);
int startTime = currentTime;
/* Your program starts from here */
time(¤tTime);
int timeElapsed = currentTime - startTime;
cout<<"It took "<<timeElapsed<<" seconds to run the program"<<endl;
}
- 1. Wie bekomme ich die aktuelle Systemzeit in C++
- 2. Wie bekomme ich die lokale Systemzeit in PHP?
- 3. Wie bekomme ich die aktuelle Systemzeit in Android?
- 4. Wie kann ich Benutzerzeit und Systemzeit in Visual C++ abrufen?
- 5. Wie kann ich Systemzeit überschreiben
- 6. Gettrusage() zum Messen der Systemzeit in C
- 7. C++ 11 tatsächliche Systemzeit mit Millisekunden
- 8. Wie bekomme ich gängige Dateitypicons in C#?
- 9. Wie bekomme ich den Teilstring in C#?
- 10. Wie bekomme ich Videodatei Dauer in C#
- 11. Wie bekomme ich% LocalAppData% in C#?
- 12. Wie bekomme ich eine Echtzeituhr in C#?
- 13. Wie bekomme ich einen Teilstring in C?
- 14. Wie bekomme ich eine Unterliste in C#
- 15. Python: Random Systemzeit Seed
- 16. C++ 11 Druck aktuelle Systemzeit (einschließlich Millisekunden)
- 17. C# wie bekomme ich html wie DOMexplorer
- 18. Wie Systemzeit in Windows 10 IoT festlegen?
- 19. Wie bekomme ich das Äquivalent von C++ "const" in C#?
- 20. Abrufen der aktuellen Systemzeit in SQL Server
- 21. Aktuelle Systemzeit abrufen?
- 22. Systemzeit dynamisch ändern win7
- 23. Wie bekomme ich Bitfinex-Ticker mit C#
- 24. R-Code-Ausführung mit: Systemzeit()
- 25. Wie bekomme ich Daten von PHP C#
- 26. C#, wie bekomme ich nur GET-Parameter?
- 27. Nancy (C#): Wie bekomme ich meine Postdaten?
- 28. C# Wie bekomme ich ein ffmpeg-Video?
- 29. C# Wie bekomme ich dll Assembly Informationen?
- 30. Wie kann ich die Systemzeit von einem Core Dump bekommen?
möglich Duplikat [Beste Timing-Methode in C?] (Http://stackoverflow.com/questions/459691/best-timing-method-in-c) –