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

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

ограничения на размер PStrList [Delphi, KOL, Windows]


Blackman ©   (2008-01-27 14:57:00) 

Хотелось бы узнать, какие могут быть ограничения на экстремальнобольшиеобъемы в PStrList?
То есть чем, кроме имеющейся памяти ограничено количество элементов и объем внутреннего представления PStrList?
Точно знаю, что до 850 000 элементов туда точно запихать можно :) А если больше?
Есть ли какие-то ограничения, связанные с размером строки, в которой хранятся все элементы списка или количества его идентификаторов?

Меня интересуют примерно такие границы: около миллиона элементов и мегабайт так примерно 50 размер PStrList.Text :)

P.S. да, я в курсе существования баз данных, но хотелось бы узнать ответ именно на этот вопрос


Blackman   (2008-01-27 21:53:00) [1]


> TLIST_FAST попробуйте, минимизирует число перевыделений памяти для списков.


Владимир, огромное спасибо, в очередной раз выручили!
Нет, замену не использую, но TLIST_FAST очень помогло.


Vladimir Kladov   (2008-01-27 21:33:00) [2]

TLIST_FAST попробуйте, минимизирует число перевыделений памяти для списков. (Для таких объёмов замена system.dcu кстати не рекомендую, если только с USE_DELPHI_MEMORY_MANAGER - или как там этот символ звучит, давно не пользовался. А если вы не используете замену, то распределение памяти в самой Delphi однозначно изменилось, это же системная часть).


Blackman   (2008-01-27 20:29:00) [3]

Дело не в таблицах, а именно в обработке огромных массивов данных.
На тех же самых объемах раньше (Delphi 5, KOL где-то в районе 2.37) все прекрасно работало. При переходе на Delphi 7 + KOL 2.86 наблюдается следующий глюк: при использовании PStrList.Add() вылезает runtime error 203 - ошибка переполнения кучи при индексах в районе 160 000. Раньше то же самое до 850 000 работало точно. Возникает ощущение что как-то изменился механизм перераспределния памяти.


=BuckLr=   (2008-01-27 19:55:00) [4]


> ограничения могут быть связаны лишь наличием свободной памяти

Из опыта - не более 90% от свободной виртуальной памяти. ИМХО, своп не резиновый. А зачем тебе? Если хочешь таблицу в виде strlist, то есть готовый компонент на основе strlist


Palladin   (2008-01-27 16:08:00) [5]

я колом не пользуюсь, но подозреваю, что, как и везде, ограничения могут быть связаны лишь наличием свободной памяти


Наверх

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