http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54075



--- Comment #43 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-11-08 
02:26:12 UTC ---

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.

Reply via email to