You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by da...@apache.org on 2016/01/17 20:02:41 UTC
spark git commit: [SQL] [MINOR] speed up hashcode for UTF8String
Repository: spark
Updated Branches:
refs/heads/master 92502703f -> bc36b0f1a
[SQL] [MINOR] speed up hashcode for UTF8String
similar to https://github.com/apache/spark/pull/10784, use `Murmur3_x86_32.hashUnsafeBytes` instead.
Author: Wenchen Fan <we...@databricks.com>
Closes #10791 from cloud-fan/string-hashcode.
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/bc36b0f1
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/bc36b0f1
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/bc36b0f1
Branch: refs/heads/master
Commit: bc36b0f1a1f38060700903be7bf5cf012b414551
Parents: 9250270
Author: Wenchen Fan <we...@databricks.com>
Authored: Sun Jan 17 11:02:37 2016 -0800
Committer: Davies Liu <da...@gmail.com>
Committed: Sun Jan 17 11:02:37 2016 -0800
----------------------------------------------------------------------
.../main/java/org/apache/spark/unsafe/types/UTF8String.java | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/bc36b0f1/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java
----------------------------------------------------------------------
diff --git a/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java b/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java
index 5b61386..87706d0 100644
--- a/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java
+++ b/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java
@@ -31,6 +31,7 @@ import com.esotericsoftware.kryo.io.Output;
import org.apache.spark.unsafe.Platform;
import org.apache.spark.unsafe.array.ByteArrayMethods;
+import org.apache.spark.unsafe.hash.Murmur3_x86_32;
import static org.apache.spark.unsafe.Platform.*;
@@ -935,11 +936,7 @@ public final class UTF8String implements Comparable<UTF8String>, Externalizable,
@Override
public int hashCode() {
- int result = 1;
- for (int i = 0; i < numBytes; i ++) {
- result = 31 * result + getByte(i);
- }
- return result;
+ return Murmur3_x86_32.hashUnsafeBytes(base, offset, numBytes, 42);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org