Wie man verstrichene Zeit in Millisekunden
Da die Leistung des string-Verkettung ist sehr schwach in VB6 Teste ich mehrere StringBuilder-Implementierungen. Um zu sehen, wie lange Sie läuft, ich nutze derzeit den integrierten
Timer
Funktion, die nur gibt mir die Anzahl der Sekunden nach Mitternacht.
Gibt es eine Möglichkeit (ich denke, durch importieren einer system-Funktion), um etwas mit Millisekunden-Präzision?
InformationsquelleAutor RobertB | 2009-07-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Sie können die Win32-API verwenden:
Importieren es in VB6 erklären es so:
Nennen Sie es vor der operation und nach und dann berechnen Sie den Unterschied in der Zeit bestanden.
Siehe blogs.msdn.com/oldnewthing/archive/2005/09/02/459952.aspx
msdn sagt nichts über 10ms, aber er sagt: "Die resolution beschränkt sich auf die Auflösung des system-Timers. Dieser Wert ist auch betroffen von den Anpassungen durch die GetSystemTimeAdjustment Funktion." also vielleicht 10ms ist für Ihre spezielle Maschine?
GetTickCount ist gut genug für die meisten Zwecke, so lange wie Sie wissen, wenn Ihre Grenzen stoßen, versuchen Sie den code in support.microsoft.com/kb/172338 allerdings, vergewissern Sie sich, dass 10ms Genauigkeit ist die beste, du wirst auf jedem Windows-system
Ja, Raymond ist der Artikel von blogs.msdn.com/oldnewthing/archive/2005/09/02/459952.aspx ist nett, er bezieht sich noch auf eine Auflösung des system-Timers, aber er berät Sie auch QueryPerformanceCounter, die auch einige Zeit dauert bis das execute - also gibt es Nachteile. Aber gut zu wissen.
InformationsquelleAutor justadreamer
Fügen Sie den folgenden code in eine Stopwatch-Klasse:
Können Sie es verwenden, wie folgt:
InformationsquelleAutor Patrick McDonald
Könnten Sie auch erwägen, einen anderen Ansatz. Versuchen Sie den Aufruf der Routinen aus einer Schleife mit genug Iterationen, um Ihnen einen messbaren Zeitdifferenz.
InformationsquelleAutor jac
Können Sie zwei Win32-APIs:
Diese verwenden LARGE_INTEGER darstellen, 64-bit-zahlen.
InformationsquelleAutor Richard
Gibt es code und eine Erklärung in der MSDN KB-Artikel Q172338 Wie Zu Verwenden QueryPerformanceCounter Time Code
InformationsquelleAutor MarkJ
Gibt es einen Thomas Edison Geschichte, wo er interviewt einige angehende Ingenieure.
Bittet er Sie, bestimmen Sie das Volumen einer Glühbirne. Kandidat A Maßnahmen, die Sie und benutzt dann die Formel für das Volumen einer Kugel, und eine andere Formel für das Volumen des Halses, und so weiter. Kandidat B füllt es mit Wasser und gießt es in einen Messbecher. Wer denkst du, wer den Auftrag bekam?
Führen Sie es 1000 mal und schauen Sie auf Ihre Uhr vor und nach. Sekunden = Millisekunden.
InformationsquelleAutor Mike Dunlavey
Ich immer verwenden Sie diese in ein Modul irgendwo (in einer Klasse). Dieser code ermöglicht Ihnen die Verwaltung von bis zu sechs Timer, mit hoher Genauigkeit:
InformationsquelleAutor Guillermo Phillips
Können Sie versuchen, mit den System::Diagnostics::Stoppuhr
Sorry, mein Fehler. Dann die GetTickCount ist der Weg zu gehen in VB6, wie es ist die alternative zu clock_t-Objekt in C/C++
.NET Stoppuhr verwendet QueryPerformanceCounter/QueryPerformanceFrequency in den hintergrund, wo möglich (Sie können herausfinden, wenn es verwendet wird, durch untersuchen der IsHighResolution Eigentum der Stoppuhr)
InformationsquelleAutor Ezekiel Rage