On Sun, 20 Feb 2022 18:08:37 GMT, XenoAmess <d...@openjdk.java.net> wrote:

>> 8281631: HashMap copy constructor and putAll can over-allocate table
>
> XenoAmess has updated the pull request incrementally with three additional 
> commits since the last revision:
> 
>  - refine test
>  - 1. optimize IdentityHashMap that when calling ::new(Map), do not call 
> map.size() twice but once.
>    2. delete the this((int) ((1 + m.size()) * 1.1)); as it makes the table 
> over-allocate when size = 19.
>  - refine test

src/java.base/share/classes/java/util/IdentityHashMap.java line 281:

> 279:      * @throws NullPointerException if the specified map is null
> 280:      */
> 281:     private IdentityHashMap(Map<? extends K, ? extends V> map, int 
> expectedSize) {

Why are you writing a new constructor when you can just change the old call to 
`this(m.size());`?

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

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

Reply via email to