我将Murmur3 64位哈希存储为Chronicle字节对象中的字节数组。我试图尽可能快地对这些键进行排序。我实现了快速排序。我注意到那里有一组比较和交换方法,但对于字节数组则什么也没有。有什么我可以用来加快我的快速排序速度的吗?
分析表明,最大的压力来自net.openhft.chronicle.bytes.AbstractBytes.readCheckOffset(long, long, boolean) AbstractBytes.java
感谢任何提示。
答案 0 :(得分:0)
比较两个字节[]的最快方法是使用Unsafe从基础数组中读取int
或long
(如果字节序小,则交换字节顺序)这将为您提供非常快速的比较。
在大多数情况下,Chronicle Bytes的设计目的是使其能够与堆外内存一起使用,尽管它也支持堆上内存,例如字节[]。