Ist die von zurückgegebene CPU-Uhrzeit bei den Läufen genau gleich?

Ich habe ein großes Projekt in C ++ geschrieben. Es könnte einige Stabilitätsprobleme haben (d. H. Zufällige Laufzeit), aber ich bin mir nicht sicher. Ich verstehe, dass die Ausführungszeit, gemessen an der Wanduhrzeit, aufgrund von Betriebssystem-Multitasking zwischen den einzelnen Läufen unterschiedlich sein kann. Ich weiß jedoch nicht, ob es für ein stabiles Programm normal ist, dass die Ausführungszeit bei Läufen mit derselben Eingabe nach CPU-Takt gemessen wird. Ich habe versucht, @ zu verwendclock() from time.h und

boost::chrono:::process_user_cpu_clock::now();

Aber in beiden Fällen sehe ich Spitzen in einer Grafik. Ich gebe Ihnen ein Beispiel für solche Grafiken. Hier Y-Achse - Ausführungszeit, X-Achse - aufeinanderfolgende Läufe desselben Programms mit denselben Eingabedaten. Rotes Diagramm - Wanduhrzeit, Rot - CPU-Zeit, aufgenommen von clock () von time.h

Natürlich gehen wir davon aus, dass unser Programm stabil ist und kein zufälliges Verhalten aufweist. Also ist es möglich? Plattform ist Windows 7.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage