|
|
Liebe Kollegen, ich versuche mit den Funktionen im Package Utilities`BinaryFiles` von einem Fortran90-Programm geschrieben reelle Zahlen zu lesen (ein Vektor von 20 single-float reals pro binären Fortran-Record). Wegen den Fortran-Recordseparatoren muss man diese beim Lesen rausfischen, daher die etwas umständliche Konstruktion (die Funktion "Cols[z_,i]" extrahiert die i-te Spalte aus dem Array z): << Utilities`BinaryFiles` readbin[zfile_] :=
Cols[ReadListBinary[
zfile, {Table[Byte, {4}], Table[Single, {20}], Table[Byte, {4}]}], 2]Diese Funktion liest die Daten richtig. Aber warum ist sie so langsam? Ich war immer der Meinung, dass Zahlen in binärer Form eigentlich schneller als in formattierter Form gelesen werden können? Gibt es eine Möglichkeit, dies zu beschleunigen? Mit freundlichem Gruss, Martin Heimann
Office: +49-3641-686-720/701 Mobile: +49-170-6307299 Home: +49-3641-618254 Fax.: +49-3641-686-710 Email: martin.heimann@XXXXXXX.de Web: http://www.bgc-jena.mpg.de/~martin.heimann |