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 ?


Anmelden zum Antworten