LINUX.ORG.RU

Оптимизация записи данных на диск


0

0

Пишу на CompactFlash, подключенную по IDE, 1000 файлов по 1М. Получаю скорость 7.5 М/c. При перезаписи получаю скорость 10.5 М/c. Подскажите, почему такая разница? И как ее обойти (получать всегда 10.5)?

anonymous
Ответ на: комментарий от anonymous_incognito

Почему офтопик? Речь идет о программе, которая в реалтайме должна сохранять файлы с максимальной скоростью.

anonymous
()
Ответ на: комментарий от anonymous

видимо время тратисться на создание файла, как вариант, создать сразу все файлы, а затем писать в них.

anonymous
()
Ответ на: комментарий от anonymous

По-моему, ты сам ответил на вопрос. Если при перезаписи уже созданных файлов, время на работу с файловой системой не тратится (тратится меньше?), то надо как-то обойти этот узкий момент. Писать сразу в готовые заранее файлы или скидывать, как через dd, образ. Или файловую систему попробовать поменять. Или попробовать с буферизацией поиграть. Смотри для примера man 2 sendfile.

anonymous_incognito ★★★★★
()

Вопрос из серии: "А почему моя программа медленно раюотает и что надо сделать, чтобы она работала быстрее?"

(Наиболее доброжелательный возможный ответ: "Твоя ж программа -- у себя и спрашивай!")

Die-Hard ★★★★★
()
Ответ на: комментарий от anonymous


Заточено под MTD, но можно поселить на CF или любом стандартном блочной девайсе. Не уверен насчет поддержки загрузчиков.
Инфу наверное лучше смотреть по maillist'ам, а тренироваться на -mm ветке.
Вообще надо смотреть на задачи. Если, например, необходим быстрый i/o в раздел, но некритична потеря питания, может стоит развернуть ext2 партицию в памяти.
А может и FAT стоит попробовать.

Chubaka
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.