std :: unordered_map очень высокое использование памяти
Вчера я пытался использоватьstd::unordered_map
и этот код смутил меня, сколько памяти он использовал.
typedef list<string> entityId_list;
struct tile_content {
char cost;
entityId_list entities;
};
unordered_map<int, tile_content> hash_map;
for (size_t i = 0; i < 19200; i++) {
tile_content t;
t.cost = 1;
map[i] = t;
}
Все эти части кода были скомпилированы в MS VS2010 в режиме отладки. То, что я видел в моем диспетчере задач, было около 1200 КБ «чистого» процесса, но после заполненияhash_map
он использует 8124 КБ памяти. Это нормальное поведениеunordered_map
? Почему так много памяти используется?