Ответ
Используйте map с заранее известным размером через make с указанием capacity:
m := make(map[string]int, expectedSize)
Эвакуации (rehash) происходят при росте map. Предварительное выделение capacity уменьшает их количество, так как map сразу создаётся с нужным размером.
Также избегайте частых вставок/удалений, так как это может провоцировать лишние эвакуации. Если возможно, заполняйте map один раз.
Для высоконагруженных сценариев рассмотрите sync.Map или другие concurrent-структуры, если работаете с конкурентным доступом.