Я бы тоже остановился просто на работе с файлом. В зависимости от задачи можно создать какой-нибудь кольцевой буфер с фрагментами файла определенной достаточной длины. По 1-10 строк. Старые куски из буфера выбрасываешь, новые добавляешь. Думаю, можно оптимизировать достаточно качественно.MarkM писал(а): Может быть просто открывать файл как типизированный фаил и работать как с файлом? ОС будет кешировать ввдод/вывод сама. Физически то же самое будет с ММ файлом. В НТ можно открыть фаийл с опциями на последовательный или случайный доступ, дабы помоч ОС определиться с политикой кеширования и упреждаюшего чтения.
Ну есстественно читать надо по нескольку строк за раз дабы не терять на И/О коллах.
Очень большие массивы
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
-
- Графоман
- Сообщения: 18705
- Зарегистрирован: 20 июл 2003, 09:16
- Откуда: Торонто
Re: Ответы:
- aldep
- Маньяк
- Сообщения: 1593
- Зарегистрирован: 18 фев 2003, 08:06
- Откуда: Toronto
- Контактная информация:
Работа именно через MMF во-первых удобнее, ибо не надо думать об аллокировании буфера, и чтения в него данных, во-вторых она быстрее, так как cache manager работает внутренне через MMF, и таким образом мы убираем еще один слой функций.
Майкрософт как раз рекомендует для производительности этот путь.
Майкрософт как раз рекомендует для производительности этот путь.
-
- Графоман
- Сообщения: 18705
- Зарегистрирован: 20 июл 2003, 09:16
- Откуда: Торонто
- aldep
- Маньяк
- Сообщения: 1593
- Зарегистрирован: 18 фев 2003, 08:06
- Откуда: Toronto
- Контактная информация:
-
- Пользователь
- Сообщения: 113
- Зарегистрирован: 24 сен 2003, 21:52
[trn]Nu pochemu zhe? Mapit' okno, naprimer 1000 strok, i rabotat' s nim. Potom dvigat' dal'she.tasko писал(а):Про удобнее - это понятно, работаешь чисто с памятью, и голова не болит. Но не подойдет для твоего случая маппинг, как не крути. Хотя, конечно, "попытка - не пытка, правда, товарищ Берия?"aldep писал(а):Работа именно через MMF во-первых удобнее
Naskolko oto optimal'no - trudno skazat' ne znaja algoritma, haraktera dostupa k dannym.
Ne zrja vidat' bol'shie SUBD ne mapjat, a pishut-chitajut fajly blokami po 2..64Kb. Bylo-b vygodno - davno by uzhe mapili. [/trn]