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

Вниз

ограничения на размер PStrList   Найти похожие ветки 

 
Blackman   (2008-01-27 14:57) [0]

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

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

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


 
Palladin ©   (2008-01-27 16:08) [1]

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


 
=BuckLr= ©   (2008-01-27 19:55) [2]


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

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


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

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


 
Vladimir Kladov ©   (2008-01-27 21:33) [4]

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


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


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


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



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
15-1238827193
dreamse
2009-04-04 10:39
2009.06.07
Плагины для IE


15-1238574089
Игорь Шевченко
2009-04-01 12:21
2009.06.07
Как давно это было :)


15-1238605370
Кто б сомневался
2009-04-01 21:02
2009.06.07
April 01: с праздником друзья!


8-1194703672
Марсель
2007-11-10 17:07
2009.06.07
Размазывание!


2-1240389619
Mulber
2009-04-22 12:40
2009.06.07
Защита ПО