История изменений
Исправление
AIv,
(текущая версия)
:
Да, и еще кэширование последнего запроса в каждой из N ячеек для ускорения разрулирования коллизий. Но в unordered_map поиск половинным делением по хэшу, а в описанном Вами случае гарантированные коллизии в ячейках за счет укороченного интервала, и еще неизвестно что хуже.
ИМНО тут нужно ограничивать диапазон ID (скажем short, 2^16) и юзать обычный вектор, а пустые ID хранить в set для ускорения выделения. Если конечно ТС-у 2^16 объектов хватит;-)
Исходная версия
AIv,
:
Да, и еще кэширование последнего запроса для ускорения разрулирования коллизий. Но в unordered_map поиск половинным делением по хэшу, а в описанном Вами случае коллизии, и еще неизвестно что хуже.
ИМНО тут нужно ограничивать диапазон ID (скажем short, 2^16) и юзать обычный вектор, а пустые ID хранить в set для ускорения выделения. Если конечно ТС-у 2^16 объектов хватит;-)