On Thu, Jul 16, 2015 at 12:07 PM, Seth <[email protected]> wrote:

> Stefan,
>
> If I'm reading between the lines correctly, the default/existing hash
> function is based on the last byte of the ID? Is there a reason we don't
> make the table wider to reduce the chances of collisions (or would this
> have bad effects on memory utilization)?
>

The initial size of a Dict is 16 slots, which is why two values whose hash
values have the same last hex digit collide – the slot is the hash modulo
the size of the Dict slots array. The reason not to make it bigger is that
if you have a lot of small Dicts you don't want to waste memory. Making it
bigger doesn't fix the problem, it just makes it harder to discover, which
strikes me as worse, not better.

Reply via email to