Boost Users :
Subject: Re: [Boost-users] Memory usage of boost::unordered_multimap and boost::unordered_multimap
From: Daniel James (dnljms_at_[hidden])
Date: 2017-10-06 11:49:45
On 6 October 2017 at 11:41, Joaquin M LÃ³pez MuÃ±oz via Boost-users
> El 06/10/2017 a las 12:16, Ram via Boost-users escribiÃ³:
>> I need help in determining the amount of memory used by
>> boost::unordered_multimap and boost::unordered_multimap.
> From a theoretical point of view, this might help:
The implementation has changed recently, C++17 requires that
unordered_map and unordered_multimap use the same nodes, so now the
unordered_multimap nodes are a little smaller, and a bit slower when
there are a lot of elements with equivalent keys as it has to iterate
through them one by one. I also now store the bucket index in nodes
instead of the hash value.
The container still allocates an array of (bucket_count + 1) buckets,
and each node consists of the value, a std::size_t, and a pointer, and
also whatever housekeeping is required for memory management. This can
be quite costly compared to storing values in an array.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net