Github user viirya commented on a diff in the pull request:
https://github.com/apache/spark/pull/19222#discussion_r171839479
--- Diff:
common/unsafe/src/main/java/org/apache/spark/unsafe/hash/Murmur3_x86_32.java ---
@@ -52,13 +53,31 @@ public int hashUnsafeWords(Object base, long offset,
int lengthInBytes) {
return hashUnsafeWords(base, offset, lengthInBytes, seed);
}
+ public static int hashUnsafeWordsBlock(MemoryBlock base, long offset,
int lengthInBytes, int seed) {
+ return hashUnsafeWords(base.getBaseObject(), offset, lengthInBytes,
seed);
+ }
+
public static int hashUnsafeWords(Object base, long offset, int
lengthInBytes, int seed) {
// This is based on Guava's
`Murmur32_Hasher.processRemaining(ByteBuffer)` method.
assert (lengthInBytes % 8 == 0): "lengthInBytes must be a multiple of
8 (word-aligned)";
int h1 = hashBytesByInt(base, offset, lengthInBytes, seed);
return fmix(h1, lengthInBytes);
}
+ public static int hashUnsafeBytesBlock(MemoryBlock base, int seed) {
+ long offset = base.getBaseOffset();
--- End diff --
Seems they are somehow duplicate.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]