Общеизвестно в программировании, что местность памяти значительно повышает производительность из-за попадания в кеш. Недавно я узнал о boost::flat_map, который представляет собой векторную реализацию карты. Похоже, он не так популярен, как ваш типичный map/unordered_map, поэтому мне не удалось найти сравнение производительности. Как он сравнивается и каковы наилучшие варианты использования?
Спасибо!



Анализ: помните, что это "случайная вставка" для вектора, поэтому огромные 1 миллиард циклов происходят из-за необходимости сдвигать половину (в среднем) данных вверх (один элемент на один элемент) при каждой вставке.


