Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можно ли как-то оптимизировать работу со StringList? [D6, WinXP]


Страницы:   1 2

Aleksandr ©   (2002-09-27 16:20:00) 

У меня из большого файла грузится экземляр TStringList (примено 80000 строк).
Далее из этого списка удаляются ненужные строки:

while i<Ls.Count do begin
StepIt(LS.Count);
s:=Ls.Strings[i];
if System.Copy(s,1,length(IP))<>IP then
Ls.Delete(i)
else
inc(i)
end;
Занимает этот код безумное время, и, что самое интересное, чем ближе он к концу, тем быстрее он двигается. Как можно оптимизировать этот процесс?


Aleksandr   (2002-09-27 16:32:00) [21]

2 Song:
IndexOf не пройдет, потому что помимо искомого критерия (IP) в каждой строке истчо туева хуча неизвестной информации.


Song   (2002-09-27 16:25:00) [22]

IndexOf() вместо If

>>...и, что самое интересное, чем ближе он к концу
Это понятно, чем ближе к концу, тем меньше итемов остаётся.


Anatoly Podgoretsky   (2002-09-27 16:24:00) [23]

Ну для начала добавить памяти, поставить P IV 4.7 ггц
потом стоит заняться алгоритмом


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо