Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.05.2016, 11:53
|
|||
|---|---|---|---|
|
|||
Выбор хранилища (ключ значение) |
|||
|
#18+
Помогите выбрать хранилище которое работает с парами ключ - значение, Надо чтобы по ключу быстро находилось значение, надо будет изменять значение, часто надо будет просто наращивать значение(value++), После заполнения хранилища вставки и удаления из него будут не частыми операциями, а поиск(по ключу) и изменение значения постоянными. Хотелось бы узнать какое хранилище мне лучше использовать и какие вообще есть варианты для подобной задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.05.2016, 12:25
|
|||
|---|---|---|---|
|
|||
Выбор хранилища (ключ значение) |
|||
|
#18+
mybitcoХотелось бы узнать какое хранилище мне лучше использовать и какие вообще есть варианты для подобной задачи? std::map std::hashmap Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.05.2016, 13:30
|
|||
|---|---|---|---|
|
|||
Выбор хранилища (ключ значение) |
|||
|
#18+
Dimitry Sibiryakovstd::hashmap То нестандартное. Вместо этого есть std::unordered_map По теме. Хэш-таблица (std::unordered_map он же std::hashmap) - наиболее подходящий вариант. Особенно если ключ - число. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.05.2016, 16:34
|
|||
|---|---|---|---|
|
|||
Выбор хранилища (ключ значение) |
|||
|
#18+
Вот спасибо. Попробую использовать std::unordered_map ключ и значение - числа (int или может long) В 80-90% случаев надо будет найдя по ключу значение сделать value++ или value-- предварительно сравнив значение с заданным числом, как это лучше всего сделать? возможно ли не удаляя предварительно из std::unordered_map и не добавляя туда уже потом новое значение? я делаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. но думаю что можно не удаляя из std::unordered_map изменить значение? и еще замечание, надо чтобы у разных ключей возможно были одинаковые значения но при этом в хранилище не должно быть нескольких одинаковых ключей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.05.2016, 16:41
|
|||
|---|---|---|---|
Выбор хранилища (ключ значение) |
|||
|
#18+
Так пробовал? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.05.2016, 16:48
|
|||
|---|---|---|---|
|
|||
Выбор хранилища (ключ значение) |
|||
|
#18+
mybitcoВ 80-90% случаев надо будет найдя по ключу значение сделать value++ или value-- предварительно сравнив значение с заданным числом, как это лучше всего сделать? Если это делается из разных потоков, то лучше использовать атомные билт-ины типа compare-and-exchange. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.05.2016, 17:12
|
|||
|---|---|---|---|
|
|||
Выбор хранилища (ключ значение) |
|||
|
#18+
Dima TТак пробовал? Код: plaintext 1. Нет, но попробую, спасибо. но помимо простого увеличения и уменьшения надо будет предварительно все-равно значение извлечь и сравнить и только изменять значение, будет ли быстрее делать так: Код: plaintext 1. чем так: Код: plaintext 1. Dimitry Sibiryakov - пока только из 1го потока планируется работа с хранилищем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.05.2016, 17:24
|
|||
|---|---|---|---|
Выбор хранилища (ключ значение) |
|||
|
#18+
постоянные erase/insert это точно не быстро. Да и зачем? Там надо работать с itMap->second, т.е. Код: plaintext 1. с проверкой можно так Код: plaintext 1. если my_map[key] не существует, то создастся новый со значением 0. Из минусов тут только то, что поиск элемента пройдет дважды. Если надо найти и много раз обращаться к одному элементу, то можно через указатель Код: plaintext 1. 2. 3. только учти что если будут вставки/удаления в my_map то указатель может стать неправильным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.05.2016, 17:25
|
|||
|---|---|---|---|
|
|||
Выбор хранилища (ключ значение) |
|||
|
#18+
mybitcoключ и значение - числа (int или может long) Так, может, у ключа ещё и диапазон чем-то ограничен?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2018508]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 268ms |
| total: | 417ms |

| 0 / 0 |
