[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-serviceability-dev
Subject: hg: jdk8/tl/jdk: 7126277: Alternative String hashing implementation
From: mike.duigou () oracle ! com (mike ! duigou at oracle ! com)
Date: 2012-05-31 5:19:10
Message-ID: 20120531051930.AA11E47640 () hg ! openjdk ! java ! net
[Download RAW message or body]
Changeset: 43bd5ee0205e
Author: mduigou
Date: 2012-05-30 22:18 -0700
URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/43bd5ee0205e
7126277: Alternative String hashing implementation
Summary: All of the hashing based Map implementations: HashMap, Hashtable, \
LinkedHashMap, WeakHashMap and ConcurrentHashMap are modified to use an enhanced \
hashing algorithm for string keys when the capacity of the hash table has ever grown \
beyond 512 entries. The enhanced hashing implementation uses the murmur3 hashing \
algorithm along with random hash seeds and index masks. These enhancements mitigate \
cases where colliding String hash values could result in a \
performance bottleneck.
Reviewed-by: alanb, forax, dl
! make/java/java/FILES_java.gmk
! src/share/classes/java/lang/String.java
! src/share/classes/java/util/HashMap.java
! src/share/classes/java/util/Hashtable.java
! src/share/classes/java/util/LinkedHashMap.java
! src/share/classes/java/util/WeakHashMap.java
! src/share/classes/java/util/concurrent/ConcurrentHashMap.java
+ src/share/classes/sun/misc/Hashing.java
! test/java/util/Collection/BiggernYours.java
! test/java/util/Hashtable/HashCode.java
! test/java/util/Hashtable/SimpleSerialization.java
+ test/java/util/Map/Collisions.java
! test/java/util/Map/Get.java
+ test/sun/misc/Hashing.java
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic