Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.018 c
1-79871
Ega23
2004-02-10 13:13
2004.02.25
TStringList - количество строк


1-79930
Mr. Chel
2004-02-09 18:36
2004.02.25
Отработка событий на границе компонентов.


1-79701
kentavr
2004-02-12 20:29
2004.02.25
EXE


4-80372
Jack
2003-12-10 17:57
2004.02.25
Странности с хуком


3-79621
Newb
2004-02-01 00:46
2004.02.25
DBGrid как изменить значение ячейки при изменении другой




   Наверх