![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Огромные проблемы с Огромными файлами [D6, WinXP]
Игорь © (2004-06-16 12:08:00)У меня есть несколько огоромных файлов ~900Мб типа extended. Мне нужно их дополнять, менять там значения и получать из них значения.
Как оптимизировать работу с файлами?
Что лучше:
1) один раз открыть и все время держать открытым или каждый раз открывать;
2) если нужно вытащить из файла несколько значений - можно брать их по одному или лучше скопом;
3) один файл я заполняю неподряд, а скачу (например сначало пишу 13-е число, затем 3046-е, потом 1-е и т.д.).
Что мне делать. Сейчас мне приходиться перед началом заполянть 900Мб нулями.
4) когда я работаю с такими файлами у меня время от времени компютер просто перестает обращать внимания на программу и все. Такое ощущение, что просто исчерпались ресурсы, хотя я просто открывал файл и не забитвал память.
Заранее очень благодарен.
Anatoly Podgoretsky (2004-06-16 14:19:00) [1]Нет по типизированому файлу и по нетипизированому прыгать быстрее и проще, при том очень быстро в отличии от базы.
WondeRu (2004-06-16 14:03:00) [2]>Базу на чисто типизированый файл, ты еще и Веб сервер предложил
я сурьезно! по одной табличке прыгать туда-сюда проще, чем по файлу!
(Это мое субъективное мнение, подкрепленное опытом разработки приложений для обработки результатов большого количества экспериментов)
Anatoly Podgoretsky (2004-06-16 13:44:00) [3]Базу на чисто типизированый файл, ты еще и Веб сервер предложил
DimKa (2004-06-16 13:30:00) [4]Можно использовать TFileStream и пругать по нему как угодно, да вроде и быстро получается.
WondeRu (2004-06-16 13:03:00) [5]2Игорь
Используй лучше БД, FireBird какой-нибудь! А такие файлы использовать - жуть да только!
Alx2 (2004-06-16 12:54:00) [6]>Игорь (16.06.04 12:08)
Мне кажется, лучше Memory Mapped Files использовать в этом случае. Правда, при условии, что размер файла меняться не будет.
jack128 (2004-06-16 12:23:00) [7]
> 1) один раз открыть и все время держать открытым или каждый
> раз открывать;
имхо без особой разницы..
> 2) если нужно вытащить из файла несколько значений - можно
> брать их по одному или лучше скопом;
если эти значения идут ПОДРЯД - друг за другом, то конечно лудше скопом. А если они не подряд идут, то я не понимаю, что означает "выбрать скопом" ;-)
> 3) один файл я заполняю неподряд, а скачу (например сначало
> пишу 13-е число, затем 3046-е, потом 1-е и т.д.).
> Что мне делать. Сейчас мне приходиться перед началом заполянть
> 900Мб нулями.
а вообще - зачем тебе 900 мегобайт нулей?
Anatoly Podgoretsky (2004-06-16 12:18:00) [8]Менять, получать это быстро, а вот что под понятием дополнять срывается?
Sandman25 (2004-06-16 12:09:00) [9]Файл как объявлен? Нужен типизированный ИМХО, тогда seek будет очень полезен.