Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.03.18;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
2-1323088905
ШК
2011-12-05 16:41
2012.03.18
Отвправка почты средствами Indy в gmail


15-1322191574
P
2011-11-25 07:26
2012.03.18
Цифровая подпись драйвера


2-1323158524
Scott Storch
2011-12-06 12:02
2012.03.18
поиск по таблице бд


2-1322695608
cahier
2011-12-01 03:26
2012.03.18
ОБРАБОТКА ТЕКСТА


15-1322034106
vuk
2011-11-23 11:41
2012.03.18
Проверяем цветовое восприятие