002
24.11.2015, 10:46 Uhr
ao
(Operator)
|
MIPS heißt "Million Instructions Per Second", gibt also die Geschwindigkeit an, mit der ein Prozessor Instruktionen verarbeiten kann. Für die Performance einer Software oder eines Algorithmus ist MIPS also eher ungeeignet.
Zitat: |
Ich frage mich ob es wirklich valide ist die performance über zeitmessung zu vergleichen?
|
Die Zeit, die die Anwendung braucht, um eine bestimmte Aufgabe zu lösen? Wenn du ein paar Randbedingungen im Griff hast, dann ist das durchaus ein brauchbares Performance-Maß. Randbedingungen können z.B. sein:
Die Laufzeit des Algorithmus sollte deutlich länger sein als die Auflösung des Zeitmessers. Also, wenn der Zeitmesser millisekunden-genau messen kann, sollte die Laufzeit nicht kürzer als Zehntelsekunden sein, damit das Messrauschen vernachlässigbar ist. Achtung: Dass ein Zeitmesser ein Ergebnis in Millisekunden liefert, heißt nicht notwendigerweise, dass jede dieser Millisekunden tatsächlich gültig gemessen ist. Das muss vorher überprüft werden (Doku lesen).
Es sollten möglichst keine anderen Aktivitäten laufen außer der System-Grundlast, weil man dann nicht mehr im Griff hat, wie die Rechenleistung auf die verschiedenen Prozesse verteilt wird. Das kann situationsabhängig heute so und morgen völlig anders sein, ergibt also keine vergleichbaren Ergebnisse. Also nicht während des Tests im Internet surfen oder Office starten, auch nicht Fenster hin- und herschieben.
Die unvermeidliche System-Grundlast sollte sich im niedrigen Prozentbereich befinden. Je höher sie ist, desto stärker beeinflusst sie laufende Applikationen, aber bei 1 oder 2 Prozent ist das in der Regel vernachlässigbar.
Die Zeiten für Ein- und Ausgabe (Testdaten vom Massenspeicher laden oder zurückschreiben) sind in der Regel bestimmt vom möglichen Durchsatz vom und zum Massenspeicher, nicht von der Arbeitsgeschwindigkeit der CPU, und sie haben auch nichts mit dem zu testenden Algorithmus zu tun. Daher sind sie gesondert zu messen und rauszurechnen.
Auch die ständige Aktualisierung irgendwelcher Anzeigen ist rauszurechnen bzw. zu unterlassen. Außer, die Grafikleistung ist Gegenstand der Messung.
Das sind nur ein paar Ideen, an was man zum Beispiel denken sollte, wenn man Performance-Messungen macht. Dieser Post wurde am 24.11.2015 um 10:51 Uhr von ao editiert. |