Конференция "KOL" » ограничения на размер PStrList [Delphi, KOL, Windows]
 
  • Blackman (27.01.08 14:57) [0]
    Хотелось бы узнать, какие могут быть ограничения на экстремально большие объемы в PStrList?
    То есть чем, кроме имеющейся памяти ограничено количество элементов и объем внутреннего представления PStrList?
    Точно знаю, что до 850 000 элементов туда точно запихать можно :) А если больше?
    Есть ли какие-то ограничения, связанные с размером строки, в которой хранятся все элементы списка или количества его идентификаторов?

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

    P.S. да, я в курсе существования баз данных, но хотелось бы узнать ответ именно на этот вопрос
  • Palladin © (27.01.08 16:08) [1]
    я колом не пользуюсь, но подозреваю, что, как и везде, ограничения могут быть связаны лишь наличием свободной памяти
  • =BuckLr= © (27.01.08 19:55) [2]

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

    Из опыта - не более 90% от свободной виртуальной памяти. ИМХО, своп не резиновый. А зачем тебе? Если хочешь таблицу в виде strlist, то есть готовый компонент на основе strlist
  • Blackman (27.01.08 20:29) [3]
    Дело не в таблицах, а именно в обработке огромных массивов данных.
    На тех же самых объемах раньше (Delphi 5, KOL где-то в районе 2.37) все прекрасно работало. При переходе на Delphi 7 + KOL 2.86 наблюдается следующий глюк: при использовании PStrList.Add() вылезает runtime error 203 - ошибка переполнения кучи при индексах в районе 160 000. Раньше то же самое до 850 000 работало точно. Возникает ощущение что как-то изменился механизм перераспределния памяти.
  • Vladimir Kladov © (27.01.08 21:33) [4]
    TLIST_FAST попробуйте, минимизирует число перевыделений памяти для списков. (Для таких объёмов замена system.dcu кстати не рекомендую, если только с USE_DELPHI_MEMORY_MANAGER - или как там этот символ звучит, давно не пользовался. А если вы не используете замену, то распределение памяти в самой Delphi однозначно изменилось, это же системная часть).
  • Blackman (27.01.08 21:53) [5]

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


    Владимир, огромное спасибо, в очередной раз выручили!
    Нет, замену не использую, но TLIST_FAST очень помогло.
 
Конференция "KOL" » ограничения на размер PStrList [Delphi, KOL, Windows]
Есть новые Нет новых   [134431   +13][b:0][p:0]