Форум: "Начинающим";
Текущий архив: 2012.03.18;
Скачать: [xml.tar.bz2];
ВнизTBucketList Найти похожие ветки
← →
Faceless © (2011-12-01 12:07) [0]нужно хранить в списке большой объем данных и иметь возможность быстро обрабатывать их. TBucketList подойдет для этого?
← →
Медвежонок Пятачок © (2011-12-01 12:30) [1]конечно подойдет.
← →
Faceless © (2011-12-01 12:35) [2]
> конечно подойдет.
TBucketList это некое подобие хеш-таблицы так ведь? в сравнении с TStringList он будет быстрее.
← →
Медвежонок Пятачок © (2011-12-01 12:38) [3]А какая разница?
Ты же не список собрался обрабатывать, а "большой объем данных"
← →
И. Павел © (2011-12-01 12:45) [4]> [0] Faceless © (01.12.11 12:07)
Контейнер нужно подбирать в зависимости от типа желаемой обработки. Поэтому сперва представьте, какие операции будет всех чаще производиться с данными а потом выберите средство.
← →
Faceless © (2011-12-01 12:59) [5]в основном самой частой операцией будет поиск, ну и добавление и удаление предусматриваться, но достаточно редко будет происходить. данные предполагается хранить в виде: ключ (целое число) и объект (TMyObject). Приблизительный объем - 500 000 записей. Пока что ничего лучше чем TObjectBucketList не нашел.
← →
Медвежонок Пятачок © (2011-12-01 13:04) [6]я бы сильно подумал, прежде чем использовать под хранилище сущности объект и создавать полмиллиона его экземпляров.
← →
Jeer © (2011-12-01 13:58) [7]
> Faceless © (01.12.11 12:59) [5]
>
> в основном самой частой операцией будет поиск, ну и добавление
> и удаление предусматриваться,
DB не интересует ? А зря.
← →
DiamondShark © (2011-12-01 14:22) [8]
> нужно хранить в списке большой объем данных
Любой контейнер может хранить столько данных, сколько влезает в память.
Есть, конечно, нюансы с накладными расходами и деталями реализации, но в общем случае на современной аппаратуре объём достаточно "большой".
> и иметь возможность быстро обрабатывать их.
Это смотря как обрабатывать.
Например, "найти все возможные строки такой же длины, дающие с заданной строкой коллизии MD5" -- это тоже "обработка", и выполнить её "быстро" не получится вне зависимости от контейнера.
> TBucketList подойдет для этого?
А леший его знает.
TBucketList -- контейнер, заточенный под определённый метод доступа к элементам.
Если у тебя метод доступа -- существенная часть "обработки", то, подходит или нет, зависит от "обработки".
← →
DVM © (2011-12-01 14:27) [9]
> Медвежонок Пятачок © (01.12.11 13:04) [6]
> я бы сильно подумал, прежде чем использовать под хранилище
> сущности объект и создавать полмиллиона его экземпляров.
>
И какая разница в хранении полмиллиона экземпляров класса или полмиллиона Record-ов? Различие между объектом и записью весьма условные.
← →
sniknik © (2011-12-01 14:42) [10]> или полмиллиона Record-ов?
никакой, и рекорд я бы тоже не стал хранить... "куском", а "развернул" бы его по полям и внес в поля таблицы.
в конце концом поиск/группировка по данным объекта это и есть обработка... если для каждой минимальной операции сначала придется "раскручивать" объект, пол миллиона для выборки "с полем 1 = 10 например ", то скоростей не жди...
← →
Медвежонок Пятачок © (2011-12-01 16:15) [11]И какая разница в хранении полмиллиона экземпляров класса или полмиллиона Record-ов? Различие между объектом и записью весьма условные.
В хранении почти никакой. Во времени создания есть небольшая.
Учитывая еще и то, что в случае рекордов память под все поллимона сущностей можно выделить одним вызовом.
← →
DiamondShark © (2011-12-01 16:23) [12]Вот и знахари подоспели:
> "развернул" бы его по полям и внес в поля таблицы.
А "таблица" -- это такая магическая штука, которая памяти не занимает и времени на доступ не требует.
← →
sniknik © (2011-12-01 16:43) [13]> А "таблица" -- это такая магическая штука
это такая штука заточенная под обработку данных. сортировка, фильтры, индексы, выборки... а вариант с "объектом/рекордом" это все одно, что "упаковка" всех полей в один блоб... и ничего с ним не сделать, кроме как открыть и чего то там самому "наковырять".
т.что везде где начинают про обработку данных скорее всего нужна таблица... если конечно не имеют в виду чего то другого, под обработкой.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.03.18;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.003 c