RFR: JDK-8277520: Implement JDK-8 default methods for IdentityHashMap [v3]

liach duke at openjdk.java.net
Mon Feb 21 23:36:24 UTC 2022


On Mon, 21 Feb 2022 22:27:34 GMT, liach <duke at openjdk.java.net> wrote:

>> Might need a CSR as now `computeIfAbsent` `computeIfPresent` `compute` `merge` would throw CME if the functions modified the map itself, and there are corresponding specification changes.
>
> liach has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:
> 
>  - Merge branch 'identityhashmap-bench' into identityhashmap-default
>  - Initial identity hash map benchmark
>  - Merge branch 'master' of https://git.openjdk.java.net/jdk into identityhashmap-default
>  - Merge branch 'master' of https://git.openjdk.java.net/jdk into identityhashmap-default
>  - update dates
>  - Also test cme for identity hash map
>  - Fix putIfAbsent
>  - JDK-8277520: Implement JDK-8 default methods for IdentityHashMap

[Baseline results](https://github.com/openjdk/jdk/files/8112532/micro.txt) (See https://github.com/liachmodded/jdk/tree/identityhashmap-bench)

[Result with this patch](https://github.com/openjdk/jdk/files/8112533/micro.txt)

Seems the benchmark does have some problems within itself. maybe need more consistent data sets for more consistent results (test both put and putIfAbsent against the same data set)

-------------

PR: https://git.openjdk.java.net/jdk/pull/6532


More information about the core-libs-dev mailing list