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

start [/forum/topic.php?fid=57&msg=39243377&tid=2018508]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 164ms |

| 0 / 0 |
