Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.07.2008, 15:58
dmdx dmdx вне форума
Начинающий
 
Регистрация: 24.05.2008
Адрес: Москва
Сообщения: 133
Репутация: 15
По умолчанию Обработка текстовых файлов.

Всем доброго настроения.

Уважаемые дельфисты, кто нить из вас задовался таким вопросом. как быстрее обрабатывать текстовый файл.
1. через assignfile, reset, closefile
2. по средством класса TStringList

например надо прочитать из файла каждую строку сравнить значение начинающиеся с позиции 5 и длинной 9 в этой стоке с другими и произвести в соответствии с анализом доп. действия. У меня реализовано через первый способ и обработка данных из 4500 файлов занимает 4.365 секунды. на компе P4-2.0Ghz/512Mb
Интересно может через TStringList будет быстрее?
Ответить с цитированием
  #2  
Старый 31.07.2008, 16:07
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Покажи свой код?
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #3  
Старый 31.07.2008, 16:18
dmdx dmdx вне форума
Начинающий
 
Регистрация: 24.05.2008
Адрес: Москва
Сообщения: 133
Репутация: 15
По умолчанию

вот основная процедура procedure StartGeneralProcess;
с которой начинается обработка. tmp.rar
Ответить с цитированием
  #4  
Старый 31.07.2008, 20:17
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Вообще канеш самым быстрым будет способ без использования строк + использование буферизации. Т.е. читать файл в память, а потом сравнивать все это дело не как букаффки, а как числа.
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #5  
Старый 01.08.2008, 10:14
dmdx dmdx вне форума
Начинающий
 
Регистрация: 24.05.2008
Адрес: Москва
Сообщения: 133
Репутация: 15
По умолчанию

Вот тесты на компе intel P dual CPU 1.60 Ghz 512/1024 Mb (меньше памяти не нашел). обработка 6007 документов заняла 11,172 сек 1.JPG 2.JPG
Ответить с цитированием
  #6  
Старый 01.08.2008, 12:17
dmdx dmdx вне форума
Начинающий
 
Регистрация: 24.05.2008
Адрес: Москва
Сообщения: 133
Репутация: 15
По умолчанию

Цитата:
Сообщение от zip000
Вообще канеш самым быстрым будет способ без использования строк + использование буферизации. Т.е. читать файл в память, а потом сравнивать все это дело не как букаффки, а как числа.
данные файла все равно так или иначе придется раскладывать по строкам т.к. это текстовый построчный файл и данные в нем проверяются в каждой строке в определенном месте.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:48.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter