Здравствуйте, Все!
Пишу одну программку по работе с файлами которые приносят на флешках( примерно 200 mb изображения чертежей)!
Вопрос встал такой: Как бы ускорить чтение с флешки и соответственно запись этих файлов на диск(IDE)?!
Я думал о многопоточности, но если кто-то знает хороший алгоритм по убыстрению этого процесса то подскажите пожалуйста!
На данный момент я просто посекторно считываю файлы с флешки(сектор флешки)
Заранее, спасибо
05.02.08 17:47: Перенесено модератором из 'Алгоритмы' — Кодт
Здравствуйте, Krio, Вы писали:
K>Пишу одну программку по работе с файлами которые приносят на флешках( примерно 200 mb изображения чертежей)!
K>Вопрос встал такой: Как бы ускорить чтение с флешки и соответственно запись этих файлов на диск(IDE)?!
А какие скорости имеешь сейчас? Многое ведь от самой флешки зависит.
K>На данный момент я просто посекторно считываю файлы с флешки(сектор флешки)
Это как?
Своя файловая система?
Здравствуйте, Krio, Вы писали:
K>Здравствуйте, Все!
K>Пишу одну программку по работе с файлами которые приносят на флешках( примерно 200 mb изображения чертежей)!
K>Вопрос встал такой: Как бы ускорить чтение с флешки и соответственно запись этих файлов на диск(IDE)?!
K>Я думал о многопоточности, но если кто-то знает хороший алгоритм по убыстрению этого процесса то подскажите пожалуйста!
K>На данный момент я просто посекторно считываю файлы с флешки(сектор флешки)
K>Заранее, спасибо
И что, намного быстрее? Узкое место тут — скорость памяти на флешке, а вовсе не системные накладные расходы. Даже сделав многопоточной процедуру записи Вы все равно получите ту же скорость. А скорее всего — скорость будет даже ниже (накладные расходы на синхронизацию и буферизацию запросов на ввод-вывод). Все запросы идут в конвеер некоего драйвера, который работает с флешкой. Конвеер как правило представляет собой очередь FIFO. Не стоит изобретать велосипедов, купите более быструю флешку.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Здравствуйте, wildwind, Вы писали:
W>Здравствуйте, Krio, Вы писали:
K>>Пишу одну программку по работе с файлами которые приносят на флешках( примерно 200 mb изображения чертежей)!
K>>Вопрос встал такой: Как бы ускорить чтение с флешки и соответственно запись этих файлов на диск(IDE)?!
W>А какие скорости имеешь сейчас? Многое ведь от самой флешки зависит.
K>>На данный момент я просто посекторно считываю файлы с флешки(сектор флешки)
W>Это как? Своя файловая система?
Скорости разные т.как и флешки разные пробовал! Заметил один интересный факт на двухпроцессорных машинах записвает быстрее!
Файловая система флешки FAT несколько раз приносили ETX2 )
У флешки мого времени занимает передача команды и т.п.(как и у многих других устройств) поэтому рекомендую читать максимально большими блоками, т.е. не посекторно, а кусками в несколько мегабайт.