Прежде всего, хранение карты почти наверняка займет больше памяти, чем вектор, поскольку вектор является просто непрерывным блоком, а карта содержит древовидную структуру.
Ответ на ваш вопрос, который лучше, заключается в том, что это зависит от проблемы, которую вы пытаетесь решить. Это действительно сводится к тому, как вы хотите иметь возможность индексировать свои данные. Если ваши данные могут быть проиндексированы линейно целым числом, то вектор будет работать лучше всего.
Однако во многих случаях вам захочется получить доступ к вашим данным другим способом. Например, если вы хотите проиндексировать свои данные, используя строку (например, поиск по словарю), тогда карта будет работать лучше. Чтобы индексировать данные строкой, используя вектор, вам нужно будет выполнить линейный поиск (O (n)), чтобы найти элемент, если вы не сохраняете вектор отсортированным. Карта должна была бы только выполнить двоичный поиск (O (log n)), который был бы МНОЖЕ быстрее при увеличении n.