std :: unordered_map uso de memoria muy alto
Ayer intenté usarstd::unordered_map
y este código me confundió cuánta memoria usó.
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;
}
Todas estas partes del código se compilaron en MS VS2010 en modo de depuración. Lo que he visto en mi administrador de tareas fue aproximadamente 1200 kb de proceso "limpio", pero después de llenarhash_map
utiliza 8124 kb de memoria. ¿Es el comportamiento normal deunordered_map
? ¿Por qué se usa tanta memoria?