-
Hans Petter Jansson authored
Sequential integers would be densely packed in the table, leaving the high-index buckets unused and causing abnormally long probes for many operations. This was especially noticeable with failed lookups and when "aging" the table by repeatedly inserting and removing integers from a narrow range using g_direct_hash() as the hashing function. The solution is to multiply the hash by a small prime before applying the modulo. The compiler optimizes this to a few left shifts and adds, so the constant overhead is small, and the entries will be spread out, yielding a lower average probe count.
0dee6297