Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
ВнизTStringList - количество строк Найти похожие ветки
← →
Ega23 (2004-02-10 13:13) [0]Есть ли какое-либо ограничение на количество строк в TStringList?
Имеется ввиду такое ограничение, что после существенно замедляется работа с листом?
← →
Тимохов (2004-02-10 13:14) [1]Есть, когда система сваповать память начинает.
Зависит от памяти на твоей машине.
← →
Ega23 (2004-02-10 13:20) [2]Скажем так, памяти - 128 мб, файл текстовый - до 3 МБ.
Будут проблемы, или можно пользоваться?
← →
Тимохов (2004-02-10 13:22) [3]Не будет.
← →
Amoeba (2004-02-10 13:23) [4]Если количество строк превышает некоторый РАЗУМНЫЙ ПРЕДЕЛ, то мне жалко пользователя программы (разработчика он точно добрым словом не помянет). А этот предел будет достигнут еще задолго до того, как начнется замедление работы.
← →
Тимохов (2004-02-10 13:24) [5]
> РАЗУМНЫЙ ПРЕДЕЛ
Это что такое ?
← →
DVM (2004-02-10 13:26) [6]
> Amoeba © (10.02.04 13:23) [4]
А этот список где будет отображаться? У многих визуальных контролов есть ограничение на 32767 элементов.
← →
Radionov Alexey (2004-02-10 13:32) [7]>DVM © (10.02.04 13:26) [6]
Интересно, где найдется тот герой, который будет читать все 32767 элементов?
← →
Ega23 (2004-02-10 13:34) [8]Это не будет отображаться никак. Это читается файл, по своей структуре очень напоминающий DFM в Delphi.
Фактически это что-то типа своей БД.
← →
Тимохов (2004-02-10 13:38) [9]
> Ega23 © (10.02.04 13:34) [8]
Тогда забей - 3 мб работать будут в лет.
← →
Ega23 (2004-02-10 13:41) [10]Спасибо всем.
← →
Verg (2004-02-10 13:42) [11]
> Ega23 © (10.02.04 13:34) [8]
> Это не будет отображаться никак. Это читается файл, по своей
> структуре очень напоминающий DFM в Delphi.
> Фактически это что-то типа своей БД.
Вы забываете законы Мэрфи
http://www.lib.ru/ANEKDOTY/marphy.txt
← →
Anatoly Podgoretsky (2004-02-10 13:56) [12]Ega23 © (10.02.04 13:20) [2]
Предел адресуемая память. Загонял для теста 700 мб, примерно 5 млн строк. Это конечно медленно, зато 100 мб, вполне нормально.
Тут надо именно использовать понятие разумные пределы и оптимальные алгоритмы, если память является проблемой, а обработка послдовательная, то просто использовать ReadLn.
По скорости время чтения большого текстового файла соизмеримо.
Другая альтернатива, array of string, требует значительно меньше памяти. В TStringList память расходуется не только на строки, но на objects и другое, даже если не используется. Массив не будет иметь этих накладных расходов, но и не будет такого набора методов.
Radionov Alexey © (10.02.04 13:32) [7]
Этот компонент не имеет визуализации, так что смотреть опльзователю просто нечего.
← →
Radionov Alexey (2004-02-10 14:00) [13]>Anatoly Podgoretsky © (10.02.04 13:56) [12]
Я в курсе.
Замечание относилось к возможности макс. загрузить потомков WinControl
← →
Ega23 (2004-02-10 14:06) [14]
> Anatoly Podgoretsky © (10.02.04 13:56) [12]
ReadLn немного неподходит, т.к. там рекурсивное чтение будет.
А за array of string спасибо, попробую.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.032 c