1

我将 Murmur3 64 位哈希作为字节数组存储在 Chronicle 字节对象中。我试图在物理上尽可能快地对这些键进行排序。我实施了快速排序来做到这一点。我注意到有一组比较和交换方法,但对于字节数组却没有。有什么可以用来加快我的快速排序的吗?分析表明,大多数压力都在net.openhft.chronicle.bytes.AbstractBytes.readCheckOffset(long, long, boolean) AbstractBytes.java

感谢您的任何提示。

4

1 回答 1

1

比较两个 byte[] 的最快方法是使用 Unsafe 从底层数组中读取 anint或 a long(如果是 little endian,则交换字节顺序)这将为您提供非常快速的比较。

在大多数情况下,Chronicle Bytes 旨在使其可以与堆外内存一起使用,尽管它也支持堆,例如 byte[]。

于 2018-11-15T13:26:31.227 回答