Seite 1 von 1

QBENCHMAKR verwirrt

Verfasst: 24. Juni 2009 11:29
von Seikilos
Folgende Methode zum testen:

Code: Alles auswählen

 QBENCHMARK
            {
                Foo::getInstance(immer neue instanz erzeugen);
            }
Beim ersten mal kompilieren und starten:

Code: Alles auswählen

RESULT : Foo::ConstructionTest():
     3.8 msec per iteration (total: 31, iterations: 8)
Beim zweiten mal:

Code: Alles auswählen

RESULT : Foo::ConstructionTest():
     8.0 msec per iteration (total: 32, iterations: 4)
Beim dritten mal:

Code: Alles auswählen

RESULT : Foo::ConstructionTest():
     4.0 msec per iteration (total: 32, iterations: 8)
	 
Warum hüpfen die Iterationen ständig? Das sind auch nicht gerade winzige Zeitunterschiede, wie ich finde. Ab und zu hatte ich auch schon zwei Iterationen mit 15 ms.
So wirklich aussagekräftig ist das nicht...

Verfasst: 29. August 2009 08:45
von arj
Also die Differenz von 4 msec ist nicht wirklich sehr groß. Das variiert so,
weil Du ein Multithreading Betriebssystem benutzt und ich nicht glaube, dass
QBENCHMARK das berücksichtigt.

Was mich eher wundert ist das da mal 4 und mal 8 Iterationen auftauchen und die Zeit ziemlich genau umgekehrt Proportional zu den Iterationen ist.
Zeit = 1/2 * Iterationen. Zumindest mit diesen wenigen Stichproben sieht es so aus, kann aber auch Zufall ein.