www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Code beschleunigen
Code beschleunigen < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Code beschleunigen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:07 Do 06.09.2007
Autor: MatLab-Fred

Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt:
http://www.gomatlab.de/code-beschleunigen-t238.html

Hallo zusammen,

ich habe ein sehr umfangreiches Programm in Matlab geschrieben und aus Gründen der Übersichtlichkeit ist der Code in viele einzelne M-Files aufgeteilt. Leider ist das Programm noch sehr langsam und ich würde es gern beschleunigen.

Meine Frage deshalb: Bringt es etwas die Codes der einzelnen M-Files in einen "endlos"-Code und ein M-File umzuwandeln? (Geht das überhaupt, wenn ich mit Klassen ("@Ordner") arbeite?

Oder ist es sinnvoller das Programm zu compilieren und wenn ja, wie mache ich das am besten wenn ich ich nicht die Namen aller Files (ca. 300) einzeln angeben will?

wie hier: mcc [-options] mfile1 [mfile2 ... mfileN]


gruß
Fred

        
Bezug
Code beschleunigen: Antwort
Status: (Antwort) fertig Status 
Datum: 18:27 Do 06.09.2007
Autor: nschlange

Hi,

nur ein paar Ideen:
- Code vektorisieren
- Speicher preallokieren
- Prüfen, ob Beschleunigung nötig ist.

Rufst Du die m-Files mehrmal auf? Dann kann es sinnvoll sein,
Funktionen statt einfachen Skripten zu verwenden, denn diese
müssen nur einmal geladen werden.

Ich glaube, es gibt von Mathworks ein tech note
"How do I vectorize my code?"
Da standen ein paar Tricks drin.

Aber 300 m-Files sind ja nicht wenig.
Was machst Du denn da für Berechnungen?
Vielleicht sind die ja einfach langsam.
Mit tic und toc kannst Du feststellen, wie lang
ein Stück Code braucht.

Viele Grüße

Bezug
        
Bezug
Code beschleunigen: Antwort
Status: (Antwort) fertig Status 
Datum: 04:41 Do 13.09.2007
Autor: MatthiasKr

Hi,
noch ein weiterer tip:
benutze den matlab profiler, um eventuelle schwachstellen deines codes zu identifizieren. manchmal kann eine kleine unachtsamkeit/ungeschickte programmierung dazu fuehren, die performance komplett zu ruinieren, das weiss ich aus eigener erfahrung...

Falls bestimmte module schlecht in matlab zu optimieren sind, lohnt es sich eventuell, diese als externe MEX funktion in C zu implementieren.

vg
matthias

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]