Google dens_hash_map C ++ - PullRequest
       32

Google dens_hash_map C ++

0 голосов
/ 02 декабря 2011

Итак, я пытаюсь реализовать карту, которая будет иметь около 20 000 пар String, String в C ++. Стоит ли использовать Google Dense Hash Map? Я буду в основном проверять карту на пару и вставлять ее, если она не найдена. Я не буду делать какие-либо удаления или изменения в парах. Если я должен использовать плотную карту хеша, как я могу? В Интернете не так много информации, но я знаю, что мне нужна хеш-функция.

РЕДАКТИРОВАТЬ: они являются парами строк в строки

1 Ответ

0 голосов
/ 09 сентября 2013

Если вам нужна более быстрая хэш-карта и немного свободной памяти, тогда сделайте это.

Плотную карту Google легко установить (aptitude install libsparsehash-dev в Debian ) и она предназначена только для заголовков, поэтому вам даже не нужно ссылаться на другую библиотеку. Это самая быстрая хеш-карта, но требует больше памяти, чем другие карты.

В тесте

http://incise.org/hash-table-benchmarks.html имеется хорошее сравнение профилей производительности и памяти (вот необработанные результаты этого теста 2013-08-02: http://pastebin.com/jJL3rzWp).

Обратите внимание, что для некоторых нагрузок b + дерево может сделать мой кеш более удобным, чем хеш.

...