Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Allgemeines (OffTopic) » Performance richtig messen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.11.2015, 09:27 Uhr
~effortg
Gast


Hallo zusammen,

ich habe eine Anwendung und würde gerne wissen wie diese von der performance sich verhält (auch mit diversen algorithmischen optimierungen).

Ich frage mich ob es wirklich valide ist die performance über zeitmessung zu vergleichen? Wären da nicht MIPS oder dergleichen wesentlich aussagekräftiger?

Im netz finde ich Tonnen von Dingen bzgl. performance Messung, aber keine die mir wirklich aufzeigt was der richtige(re) Wege ware.

Danke für Erfahrungsaustausch!

Gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.11.2015, 20:47 Uhr
Hans
Library Walker
(Operator)


Hi,

Zitat von ~effortg:

Ich frage mich ob es wirklich valide ist die performance über zeitmessung zu vergleichen? Wären da nicht MIPS oder dergleichen wesentlich aussagekräftiger?


wofür steht denn die die Abkürzung MIPS?

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.11.2015, 18:26 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja, das wichtigste an messungen sollte man nicht vernachlässigen:

Man sollte sich überlegen, WARUM man misst. Also z.b "ist es so oder so schneller = früher fertig".

Und: ob sich der Aufwand rentiert (ob mein Programm nun 1 oder 2 Sekunden braucht ...)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.11.2015, 21:30 Uhr
ao

(Operator)



Zitat von FloSoft:
nUnd: ob sich der Aufwand rentiert (ob mein Programm nun 1 oder 2 Sekunden braucht ...)

Na ja, wenn man das Programm EINMAL laufen lässt. Aber die meisten Programme werden geschrieben, um sie immer wieder laufen zu lassen. Und ob ich nun 3.600 solcher Jobs in einer Stunde erledigen kann oder nur 1.800, das macht schon einen Unterschied.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
24.11.2015, 21:57 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von ao:

Na ja, wenn man das Programm EINMAL laufen lässt. Aber die meisten Programme werden geschrieben, um sie immer wieder laufen zu lassen. Und ob ich nun 3.600 solcher Jobs in einer Stunde erledigen kann oder nur 1.800, das macht schon einen Unterschied.


genau das ist der punkt ;-)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Allgemeines (OffTopic) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: