C / C ++ Linux: самая быстрая запись фиксированного фрагмента памяти в файл (1 Гц)

В системе Linux у меня есть один фрагмент памяти фиксированного размера (без роста) размером 7 МБ, содержимое которого я обновляю в режиме реального времени заявление.

Мне нужно записывать этот кусок памяти на диск (тот же файл) один раз в секунду.

Принимая во внимание современные (конец 2011 г.) процессоры и жесткие диски, как наиболее эффективно реализовать эту функциональность? Меня не волнует, действительно ли запись занимает какое-то время, но поскольку это приложение в реальном времени, мне нужно как можно скорее вернуться к работающему приложению.

Какие методологии я должен попробовать?

Моя базовая линия - это стандартный базовый цикл fopen (), двоичный цикл fwrite (), fclose ().

Я читал, что mmap () может быть полезен. Может быть, асинхронный ввод-вывод? Есть ли другие методологии, которые мне следует протестировать? Как вы думаете, какая методология будет самой быстрой?

7
задан kfmfe04 12 October 2011 в 07:16
поделиться