Ren*_*tov 7 java hash performance scala
在Java/Scala中寻找高性能的字符串散列函数 - 比MurmurHash系列的函数更快,不需要加密强大,只能很好地分发.
有什么建议?
适合该法案的最快哈希算法似乎是xxHash.lz4-java项目包含一个移植到Java的实现.我不知道Java实现是否已经针对MurmurHash进行了基准测试; C++中的性能优化并不总是移植到/来自Java.(特别是,xxHash包含更多的数组访问,因此可能存在不可忽略的边界检查开销.)
编辑:它看起来像我使用JNI来调用xxHash的C++实现,但JNI开销是不可忽略的,因此性能问题仍然存在.
但是,鉴于Scala 包含一个MurmurHash函数,并且Java包含一个更快的默认哈希值(大约2倍),有时可以合理地分布,人们确实想知道它是否真的有必要.例如,scala.util.hashing.MurmurHash3与字节数组中的字符串创建速度一样快,如果给它一个字节数组,速度是其两倍.
您可以找到非常快速的Java哈希函数实现,BTW帐户内部字符串实现(char[]数组)以最大化速度,这里:https://github.com/OpenHFT/Zero-Allocation-Hashing
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           4331 次  |  
        
|   最近记录:  |