|
|
flops zählen bzw. performance |
|
Matt |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 29.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.10.2009, 15:07
Titel: flops zählen bzw. performance
|
|
Hallo,
mir ist bewusst das seit der version 6 keine flops mehr zählbar sind.
Ich brauche unbedingt eine verlässliche Art 2 Algorithmen gegeneinander zu testen.
* Zeitmessungen sind schön und gut in Matlab doch kenne ich mich zu wenig aus - ich vermute hier durchs Betriebssystem & Co. keine exakten Werte zu erhalten.
* Deswegen würde ich gerne flops zählen. Doch leider bietet das Matlab nicht mehr an. Ich fand ein Programm namens lightspeed welches das möglich macht verstehe aber die benutzung nicht ganz. Hat jemand auch nach version 6 schon flops gezählt und wenn ja wie? Oder wie messt ihr performance? Oder benutzt jemand lightspeed zum flops zählen?
Für jede Hilfe bin ich dankbar.
Danke
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.449
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.10.2009, 15:19
Titel:
|
|
Hallo,
Möglichkeiten, Performance zu messen:
Misst die Zeit, die von Anfang bis Ende vergeht. Dabei sollten nach Möglichkeit keine anderen Anwendungen laufen, um die Ergebnisse nicht zu verfälschen. Insbesondere bei relativ kurzen Programmen ist es sinnvoll, den Code mehrmals laufen zu lassen, und einen Mittelwert zu nehmen. Beim ersten Durchlauf ist der Code oft langsamer als bei den folgenden; zur Sicherheit sollte man also vor jedem Durchlauf clear all machen.
Hier sieht man nicht nur, wieviel Zeit verbraucht wird, sondern auch wo. Die Ergebnisse sind leicht verfälscht, weil ja auch noch mitgeloggt werden muss, geben jedoch gute qualitative Eindrücke, in welchen (Unter-) Funktionen die Zeit verbraucht wird.
Um einen Algorithmus zu testen, könnte man ihn zusätzlich auf Daten unterschiedlicher Größe loslassen und sehen, wie stark die Unterschiede innerhalb eines Algorithmus sind.
Viele Grüße,
Harald
|
|
|
Matt |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 29.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.10.2009, 15:28
Titel:
|
|
Vielen Dank Harald,
das beantwortet meine Performance-Frage ja. Ich habe den Profiler benutzt und sehe schönen grafischen output. Auch tic und toc benutze ich bereits.
Ich hätte gerne aber auch eine Möglichkeit richtig flops zu zählen.
Ich weiß leider nicht wie - nur lightspeed sehe ich hier vor mir und da ich hier manuell flops zählen muss weiß ich z.B auch nicht was Matlab intern macht. Ob z.B. ein menge = find(P(:,i)); oder ein n = length(menge); schon flops brauchen oder nicht weiß ich nicht. Ich kann aber unmöglich jeden MATLAB Befehl durchforsten um zu sehen ob floating-ops benutzt werden.
Hat jemand Rat?
|
|
|
Andy386 |
Forum-Guru
|
|
Beiträge: 485
|
|
|
|
Anmeldedatum: 24.06.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.1/8
|
|
|
|
|
|
Verfasst am: 02.10.2009, 18:43
Titel:
|
|
flops gabs mal, bis Ver. 5 könnte das gewesen sein. Wurde aber rausgenommen, da es nicht mehr alles korrekt gezählt werden konnte oder so...
Habs gefunden: mit LAPACK und BLAS nicht mehr geht.
http://www.mathworks.com/support/so.....dex.html?solution=1-17N9A
Du könntest versuchen, den Code in C umzusetzen und dann mit nem Debugger den ASM-Code anschauen, weiss aber nicht ob das so einfach geht...
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|