This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Bug libstdc++/54075] [4.7.1] unordered_map insert still slower than 4.6.2


On 11/08/2012 02:56 AM, Paolo Carlini wrote:
On the other hand, the old-old code for rehash didn't use _M_growth_factor in these computations, it just literally enforced the post-conditions of the Standard. Are we sure we aren't so to speak rehashing too much? For example, when the load factor is very low and doesn't count, it looks like a current rehash(n) accomplishes the same of an old rehash(n * 2)?!? Something seems wrong, can you double check that? In any case the comments before _M_next_bkt would need fixing.
... in other terms, I really think that the only uses of _S_growth_factor should return to be inside _M_need_rehash, because that's the function called by the inserts, when the container must automatically grow the number of buckets. Elsewhere, like the constructors, rehash, should not need to know about _S_growth_factor.

Paolo.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]