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