标签: c algorithm caching hash hashcode
我想实现一个进入缓存的哈希函数。最初,我有20位输入,我需要将此输入哈希到7位。
我的缓存是128x4。
我尝试过不同的哈希函数,但结果不是很好(命中率达到60%)。我在考虑使用MD5算法,但也许更好。我在线阅读了MD5的实现,但我没有得到它。
答案 0 :(得分:1)
在这里看起来像一个完美分布的哈希实际上是不可取的。它提供了将附近地址映射到同一组的可能性。
也许您想要做的是将17位向下舍入到4,并直接映射三个低位,以保证同一组实例之间的最小距离。