![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| VSB |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.8.2007 Репутация: 1 Всего: 2 |
Есть необходимость в LRU cache.
Пытаюсь приспособить для себя http://timday.bitbucket.org/lru.html но есть проблема с тем, что ключом для внутреннего map или unordered_map должна быть такая структура.
собственно вопрос, как для нее правильно написать хеш функцию или функцию сравнения (да и собственно, через что будет быстрее - map или unordered_map) Приспособить в том плане, что а студии пока нет variadic templates и класс пришлось объявить так (жестко для unordered_map)
Это сообщение отредактировал(а) VSB - 13.1.2013, 21:43 |
||||
|
|||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Функцию сравнения проще всего (и быстрее) написать через memcmp - у тебя ведь плоская структура. Для хэш-функции числа обычно замешиваются с большими простыми множителями. Типа Hash = A*X + B*Y + C*Z. Где-то здесь на форуме я приводила вариант для 2 членов.
Хэш-map теоретически быстрее (при больших числах). -------------------- ... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |