On 6/28/17 3:47 AM, Sönke Ludwig wrote:

Am 28.06.2017 um 00:51 schrieb Steven Schveighoffer:

But the AA that is currently used for the reference counts is another
obvious target, although that fortunately shouldn't be a big issue once
the connection count stabilizes, thanks to the open addressing of the
improved AAs. Still not necessary.

The AA still allocates a block for each element. But you are right it
should stabilize at some point.

Hm, I see. I'll have to take a look at the implementation. I was under
the impression that everything is stored in a single flat over-allocated
array (of int in this case).

No, it's an array of element pointers. Each element has a key, a value,
and the hash.

It's better than before in that it's not a linked-list per hash bucket.

I'm not sure it will ever change from this, since likely a lot of code
depends on those elements not moving (for instance doing key in aa, and
then rehashing).