-
Enhancement
-
Resolution: Fixed
-
P4
-
10
TreeMap doesn't have specialized implementation for methods putIfAbsent(), computeIfAbsent(), computeIfPresent(), compute(). Default implementation frequently leads to twice tree traversal, that hurts performance.
Implementation: http://cr.openjdk.java.net/~skuksenko/corelibs/utils/8176894/webrev.00/
Suggested implementation improve performance of all 4 operations within 40%-100% (than higher cost of compare operation than more performance boost).
Note: some of these operations are used in new HttpClient (JEP-110, jdk.incubator.httpclient). Performance speedup for HTTP/2 requests are within 5%-15% (depends on size of HTTP headers)
Implementation: http://cr.openjdk.java.net/~skuksenko/corelibs/utils/8176894/webrev.00/
Suggested implementation improve performance of all 4 operations within 40%-100% (than higher cost of compare operation than more performance boost).
Note: some of these operations are used in new HttpClient (JEP-110, jdk.incubator.httpclient). Performance speedup for HTTP/2 requests are within 5%-15% (depends on size of HTTP headers)
- csr for
-
JDK-8227666 Provide specialized implementation for default methods putIfAbsent, computeIfAbsent, computeIfPresent, compute, merge in TreeMap
-
- Closed
-
- relates to
-
JDK-8244288 Specialized implementations for putIfAbsent, merge, compute* methods in TreeMap derived maps
-
- Resolved
-
-
JDK-8259622 TreeMap.computeIfAbsent deviates from spec
-
- Closed
-