Есть ли в Chronicle Bytes метод супербыстрого сравнения byte []?
Я храню 64-битный хэш Murmur3 в виде байтового массива в байтовом объекте Chronicle. Я пытаюсь сортировать эти ключи как можно быстрее физически. Я реализовал быструю сортировку, чтобы сделать это. Я заметил там набор методов сравнения и обмена, но ничего для байтового массива. Что-нибудь, что я могу использовать, чтобы ускорить мою быструю сортировку? Профилирование показало, что наибольшее давление на net.openhft.chronicle.bytes.AbstractBytes.readCheckOffset(long, long, boolean) AbstractBytes.java
Спасибо за любые подсказки.
1 ответ
Самый быстрый способ сравнить два байта [] - использовать Unsafe для чтения int
или long
из нижележащих массивов (и меняйте порядок байтов, если в порядке байтов), это даст вам очень быстрое сравнение.
По большей части Chronicle Bytes предназначен для работы с памятью без кучи, хотя он также поддерживает и кучу, например byte[].