![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ограничения на размер 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]я колом не пользуюсь, но подозреваю, что, как и везде, ограничения могут быть связаны лишь наличием свободной памяти