Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1323062407
kulakovboris
2011-12-05 09:20
2012.03.18
Утечка памяти на ровном месте


2-1322823148
CheCoder
2011-12-02 14:52
2012.03.18
Как отправить содержимое Image1 на печать?


4-1255265451
Alexei
2009-10-11 16:50
2012.03.18
Отслеживание моментов входа в ОС (WinXP)?


15-1322253003
Юрий
2011-11-26 00:30
2012.03.18
С днем рождения ! 26 ноября 2011 суббота


15-1322027613
MBo
2011-11-23 09:53
2012.03.18
Google Doodle





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский