Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: CL | DM;

Вниз

Оптимизация поиска в файлах   Найти похожие ветки 

 
Hint ©   (2003-02-17 13:03) [0]

Требуется в куче файлов заменить одну фразу на другую. Файлы много и бывают довольно-таки большие (несколько мегабайт). Сейчас файл загоняю в переменную типа string и использую pos.
Получается очень медленно. Как это дело можно оптимизировать?


 
Андрей Сенченко ©   (2003-02-17 13:28) [1]

"Файлы бывают довольно-таки большие <...> загоняю в переменную типа string"

несостыковочка получается. String врядли потянет длину строкивесом в мегабайт. Может быть Ты уточнишь ЧТО КОНКРЕТНО Ты делаешь ?


 
MBo ©   (2003-02-17 13:54) [2]

String(Ansi)-то потянет мегабайт, только стандартные функции медленно будут работать. Посмотри http://www.optimalcode.com/examples.htm


 
Hint ©   (2003-02-17 13:54) [3]

Согласно моим данным (delphi6.hlp) AnsiString потянет до 2 ГИГАбайт.
Конкретно:
LoadFromFile грузим файл в TStringList и запихиваем Text в переменную.


 
Hint ©   (2003-02-17 14:00) [4]

To MBo
Спасибо, попробуем разобраться...


 
MBo ©   (2003-02-17 14:02) [5]

>LoadFromFile грузим файл в TStringList и запихиваем Text в переменную.
Может, быстрее будет TFileStream и содержимое в строку?


 
Hint ©   (2003-02-17 14:06) [6]

Гм, LoadFromFile сам использует TFileStream. Ускорение будет не очень большим, не критично я думаю...


 
Anatoly Podgoretsky ©   (2003-02-17 14:10) [7]

Ускорение будет критичное, LoadFromFile не только грузит, но и формирует TStringList, TFileStream только грузит, при том в заранее распределенную строку, она для него буфер. При этом скорость в зависимости от диска и процессора может достигать десятком мб в секунду.


 
Hint ©   (2003-02-17 14:16) [8]

Да, действительно, спасибо, занесем в список :o)



Страницы: 1 вся ветка

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
7-87733
zx
2002-12-26 17:51
2003.02.27
Звук на спикер?


3-87262
Ihtiandr
2003-02-07 16:51
2003.02.27
Полоса прокрутки


1-87520
tred
2003-02-16 15:12
2003.02.27
как удалить последнюю строку в string?


14-87641
Uncle Archi
2003-02-02 13:20
2003.02.27
Игра


6-87582
Sergey_lem
2003-01-08 20:31
2003.02.27
Как отправить почту в Delphi 7