[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