On Tue, 21 Feb 2023 03:39:46 GMT, Tingjun Yuan <d...@openjdk.org> wrote:

>> Currently, the two subclasses of `java.util.EnumSet` optimize bulk 
>> operations when the argument is also a `EnumSet`, but there is no such 
>> optimization for wrapper sets (returned by `Collections.unmodifiableSet`, 
>> `Collections.synchronizedSet`, etc.) and immutable sets (returned by 
>> `Set.of` methods) of `Enum`s.
>> 
>> This PR introduces optimization classes for these situations.  No public 
>> APIs are changed.
>
> Tingjun Yuan has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Set.copyOf: need defensive copy

If this level of complexity is indeed needed to get whatever improvement you're 
after then I don't see how this can be worth its weight. Microbenchmarking 
might help support your case here, but assessing the potential performance 
costs from gradually increasing the number of classes floating around at 
various call sites in arbitrary applications is hard. Thus it is something we 
need to be very careful not to do without solid evidence.

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

PR Comment: https://git.openjdk.org/jdk/pull/12498#issuecomment-1478731354

Reply via email to