Текущий архив: 2003.04.24;
Скачать: CL | DM;
ВнизTCollection и TCollectionItem Найти похожие ветки
← →
Still Swamp (2003-04-14 09:46) [0]Проблема следующая.
Создаю некие TCollection и TCollectionItem. Добавляю 150тыс элементов. Задержка минимальная. Те ничтожная. Хорошо.
Вызываю Collection.Clear - задержка минут 5-7. С чем это связано?
Есть ли еще какой нибудь споcб работы с длинными списками?
← →
malkolinge (2003-04-14 12:13) [1]procedure TCollection.Clear;
begin
if FItems.Count > 0 then
begin
BeginUpdate;
try
while FItems.Count > 0 do
TCollectionItem(FItems.Last).Free;
finally
EndUpdate;
end;
end;
end;
Не подкопаться :(....А зачем тебе имеено коллекция ?
← →
Still Swamp (2003-04-14 14:58) [2]угу - и я не подкопался... но как же она долго работает.
а почему коллекция? - удобно. просто раньше с небольшим количеством работал - а сейчас вот косяк случился.
← →
malkolinge (2003-04-14 15:23) [3]В чем жу удобство ? тебе список на стадии разработки приложения нужен ? в дизайн тайме ?
← →
REA (2003-04-14 15:33) [4]Сложно представить коллекцию в виде 150к элементов.
А может задержка собственно в деструкторе?
Вот где профайлер бы пригодился, который Борланд упорно не хочет делать.
← →
Юрий Федоров (2003-04-14 15:59) [5]Судя по коду в деструкторе Item"а идет поиск его в списке и удаление из списка. Видимо, поиск в списке и занимает столько времени.
Почему не использовать TList?
← →
malkolinge (2003-04-14 18:16) [6]
> Судя по коду в деструкторе Item"а идет поиск его в списке
> и удаление из списка. Видимо, поиск в списке и занимает
> столько времени.
> Почему не использовать TList?
Сие тайна !
Страницы: 1 вся ветка
Текущий архив: 2003.04.24;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c