RFR: 8299444 java.util.Set.copyOf allocates needlessly for empty input collections [v2]

Viktor Klang duke at openjdk.org
Mon Jan 9 08:33:09 UTC 2023


> Currently Set.copyOf allocates both a HashSet and a new empty array when the input collection is empty.
> 
> This patch avoids allocating anything for the case where the parameter collection's isEmpty returns true.

Viktor Klang has updated the pull request incrementally with two additional commits since the last revision:

 - 8299444: java.util.Set.copyOf allocates needlessly for empty input collections
   
       Modifies ImmutableCollections.listCopy:
       Introduces a check for isEmpty to avoid allocation in the case of an empty input collection.
 - 8299444: java.util.Set.copyOf allocates needlessly for empty input collections
   
   Modifies Map.copyOf:
   Introduces a check for isEmpty to avoid allocation in the case of an empty input Map.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/11847/files
  - new: https://git.openjdk.org/jdk/pull/11847/files/52a87a2b..8e67eb86

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=11847&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=11847&range=00-01

  Stats: 6 lines in 2 files changed: 4 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/11847.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/11847/head:pull/11847

PR: https://git.openjdk.org/jdk/pull/11847


More information about the core-libs-dev mailing list