|
|
Fread und fprintf Operation beschleunigen |
|
Mo3bius |

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 11.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.02.2013, 17:34
Titel: Fread und fprintf Operation beschleunigen
|
 |
Hi,
ich habe den zeitaufwendigsten Teil meines Codes mit Zeitangaben herauskopiert:
Zur Erklärung:
Ich lese eine Binärdatei Zeilenweise ein, überprüfe ob was darin steht und schreibe die Dezimalzahl dann in eine neue Datei. Was würdet ihr anders machen, bzw. wie könnte ich das beschleunigen?
Grüsse,
Mo3bius
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 26.02.2013, 18:16
Titel: Re: Fread und fprintf Operation beschleunigen
|
 |
Hallo Mo3bius,
Was ist "str"?
Vielleicht dies:
Soll die neue Datei ein Text-File sein?
Oder versuche mal dies:
Dann muss der Schreib-Lese-Kopf nich zwischen den Datein hin- und herspringen.
Gruß, Jan
|
|
|
Mo3bius |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 11.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.02.2013, 19:40
Titel:
|
 |
Hallo Jan,
also "str" ist ein Formatierungsstring, der genau was Gleiche tut, wie dein Code.
Vielen Dank für diesen guten Code, ich habe jetzt das Zweite Beispiel genommen. Mir war nicht bewusst, dass man mit fread in ein Array lesen kann.
Der Code braucht jetzt statt 236 Sekunden gerade noch 14.7 Sekunden!!!!
Grüsse,
Mo3bius
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.02.2013, 16:00
Titel:
|
 |
Hallo Mo3bius,
Prima, das ist ja schonmal eine nette Beschleunigung.
Wenn Du noch den Inhalt von "str" postest, würde mir vielleicht noch ein Verbesserungsvorschlag einfallen. Das es ein Format-String ist, habe ich mir schon gedacht, aber welcher?! Es kann einen deutlichen Unterschied machen, ob man die Daten als DOUBLEs (mit 8 Byte pro Element) oder ohne Konvertierung als UINT16 (2 Bytes per Element) abspeichert. Die Konvertierung von UINT16 nach DOUBLE ist zwar nicht sehr aufwändig, aber trotzdem möglicherweise unnötig.
Gruß, Jan
|
|
|
|
|
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 - 2025
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.
|
|