Надо хранить в памяти много (до полумиллиона) объектов в некоем списке. Доступ в основном на поиск и модификацию свойств объектов. Вставка и удаление — редки. Активный доступ в основном к ~10% объектов, остальные — просто имеются. Доступ многопоточный, но можно и через lock() или reader\writer lock. Индекс — в оригинале строка до 50 или 100 символов (как захотим).
Какой список лучше использовать для работы ?
Теоретически нет разницы между теорией и практикой, но на практике она есть
Здравствуйте, seimur, Вы писали:
N_P>>Надо хранить в памяти много (до полумиллиона) объектов в некоем списке. Доступ в основном на поиск и модификацию свойств объектов. Вставка и удаление — редки. Активный доступ в основном к ~10% объектов, остальные — просто имеются. Доступ многопоточный, но можно и через lock() или reader\writer lock. Индекс — в оригинале строка до 50 или 100 символов (как захотим).
N_P>>Какой список лучше использовать для работы ?
S>Обычный список тут вообще не подходит.
S>На вскидку с быстрым доступом по ключу — Dictionary, SortedList, SortedDictionary
Ну, я полагал, что даже мне понятно, что List<> тут не причем
Из словареподобных — что лучше ?
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>Какой список лучше использовать для работы ?
По моему список не здесь не подойдет. А если какой сбой на машине или каким образом сохранять обрабатываемые данные? Посмотрите в сторону баз данных key-value.
Например
вот.