Самый быстрый контейнер для итерации - это обычно vector
, поэтому, если вы хотите оптимизировать итерацию за счет всего остального, используйте это.
Общая производительность приложения, конечно, будет зависеть от того, сколько разВы повторяете, и как вы строите свои данные в первую очередь.Для простого теста, как только ваша карта будет заполнена, вы можете построить вектор из нее следующим образом:
vector<pair<K,V> > myvec(mymap.begin(), mymap.end());
Где K и V - ключевые и тип значения карты.Затем просто используйте векторные итераторы вместо итераторов карты и сравните производительность.
Конечно, если вы хотите изменить карту в будущем, обычно нецелесообразно оптимизировать ее для итерации за счетвсе остальное.