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
--
Max-Planck-Institut fuer Biogeochemie
Postfach 100164, D-07701 Jena, Germany
Street Address: Kahlaische Strasse 10
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