Zeichendurchsatz erhoehen bei File I/O
-
Tag zusammen
Ich habe folgendes Problem:Momentan arbeite ich mit einem MicroController-Board (200Mhz, 32MB RAM, 32MB Flash) auf welchem ich bestimmte Loginformationen aufzeichnen muss.
Die Datei, welche beschrieben wird, liegt auf einem NAND-Flash und mit einer norm. write- Anweisung (int fd, void* puffer, size_t anzahl_bytes) ist der Durchsatz an Anzahl Zeichen zu klein.
=> Ich muss irgendwie mehr Zeichen/sek. in die Datei schreiben können.
Nützt es was, wenn ich anstatt Zeichen meine Datei binär beschreibe ? Oder wäre eine Ramdisk eine Lösung ?Danke fuer eure Hilfe
Roger
-
Würde dir asynchrones Schreiben vielleicht helfen?
Highperformance IO kannst du unter Linux mit mmap machen, ob das bei Flashlaufwerken viel bringt ist ne andere Frage.
-
Danke für die rasche Antwort !!
Asynchrones schreiben: Meinst du das Flag O_SYNC beim oeffnen nicht setzten ?
mmap: Hab noch nie was damit gemacht, aber spielt es dort eine Rolle was fuer eine HW bez. Filesystem darunter ist ?
Nach meinem Verstaendnis wird dort das File in das RAM geladen und dort beschrieben, oder sehe ich das falsch ?