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

Performancevergleich C <-> Matlab

 

Schmaler
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 22.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.07.2010, 11:07     Titel: Performancevergleich C <-> Matlab
  Antworten mit Zitat      
Hallo,

ich möchte gerne zwei in Matlab prototypisch implementierte Algorithmen bezüglich ihrer Performance vergleichen. Dabei geht es mir nicht darum, ob Matlab bzw C bei gewissen Operationen schneller ist, sondern vielmehr darum ob die benötigte Rechenzeit dabei korelliert oder nicht.

Bisher verwende ich ausschließlich Matrixoperationen, welche zwar den Matlab Code deutlich beschleunigen, jedoch nicht ohne weiteres in C portiert werden können. Wenn ich diese nun durch zB for Schleifen ersetzen würde, verhalten diese sich in Matlab im Verhältnis zu anderen Anweisungen vom Rechenaufwand her ähnlich wie dies in C der Fall ist? Oder kann man daraus keine Rückschlüsse auf die Performance in C ziehen?

Vielen Dank schon einmal!
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 28.07.2010, 12:01     Titel:
  Antworten mit Zitat      
Hallo Schmaler,

Matlab ruft für Matrix-Operationen die LAPACK-Bibliotheken auf, die als ATLAS-Libs für verschiedene Prozessoren optimiert worden sind. Für Operationen mit großen Matrizen sollte man dies in C-Programmen ebenfalls tun, so dass z.B. für die SVD einer 1000*1000 Matrix C und Matlab gleich schnell laufen - bis auf einen zu vernachlässigenden Overhead.

Im Allgemeinen kann man keine Rückschlüsse von einer Programmiersprache in eine andere ziehen. Man kann auch nicht einmal ohne es auszuprobieren wissen, ob eine Implementation in Matlab als Schleife oder in vektorisierter Form schneller ist! Matlab's JIT-Compiler kann manchmal extrem beschleunigen.

Matlab ist überragend gut geeignet, die Gesamt-Prgramm-Zeit zu minimieren:
Programmzeit = Programmierzeit + Debugzeit +
Laufzeit + Zeit zum Darstellen der Ergebnisse
In 99% aller Fälle die ich bisher in meiner wissenschaftlichen Laufbahn gesehen habe, war die Laufzeit dabei nicht der ausschlaggebende Summand!

Viel Erfolg, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 28.07.2010, 12:11     Titel:
  Antworten mit Zitat      
Gerne sind wir von Seiten MathWorks bereit Unterstützung zu dieser Forschungsarbeit zu geben. Ich bitte mich persönlich zu kontaktieren.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Schmaler
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 22.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.07.2010, 13:12     Titel:
  Antworten mit Zitat      
Vielen Dank für die Antwort @ Jan.

Allerdings ging es mir nicht um eine Optimierung der gesamten Entwicklungszeit, sondern eben vielmehr um eine Möglichkeit aus der benötigten Laufzeit unter Matlab Rückschlüsse auf die Performance der unterschiedlichen Algorithmen unter C zu ziehen.

@Andreas: Du hast Post!

Alexander
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.