我想快速搜索许多无关的命名事物。“ aardvark”在任何地方都始终是“ aardvark”,因此对字符串进行哈希处理并重新使用整数可以很好地加快比较速度。整个名称集是未知的(并且会随时间变化)。什么是快速字符串哈希算法,它将生成较小的(32或16)位值并且具有较低的冲突率?
我希望看到针对C / C ++的优化实现。
其中的FNV变种应该满足你的要求。它们速度很快,并产生相当均匀的分布式输出。