WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

flops zählen bzw. performance

 

Matt
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 29.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2009, 15:07     Titel: flops zählen bzw. performance
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.10.2009, 15:19     Titel:
  Antworten mit Zitat      
Hallo,

Möglichkeiten, Performance zu messen:

Code:


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.

Code:

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
Private Nachricht senden Benutzer-Profile anzeigen
 
Matt
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 29.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2009, 15:28     Titel:
  Antworten mit Zitat      
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?
Private Nachricht senden Benutzer-Profile anzeigen
 
Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 02.10.2009, 18:43     Titel:
  Antworten mit Zitat      
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...
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.