Я пытаюсь выбрать между map
и unordered_map
для следующего использования:
Ключ map
- это указатель.
Наиболее распространенным вариантом использования является то, что на карте будет один элемент.
В общем, максимальное количество элементов на карте меньше 10.
Доступ к карте осуществляется очень часто, и скорость является самым важным фактором. Изменения на карте нечасты.
Измеряя скорость, очевидно, правильный подход здесь, этот код будет использоваться на нескольких платформах, поэтому я пытаюсь создать общее правило для выбора между map
и unordered_map
на основе количества элементов, Я видел здесь несколько сообщений, которые подсказывают, что std:: map может быть быстрее для небольших элементов, но определение "small" не было указано.
Есть ли правило для того, чтобы выбрать между map
и unordered_map
в зависимости от количества элементов? Еще лучшая структура данных (например, линейный поиск через vector
)?