RFR: 8300487: Store cardinality as a field in BitSet

Sergey Kuksenko skuksenko at openjdk.org
Wed Jan 18 11:21:53 UTC 2023


On Tue, 3 Jan 2023 23:25:39 GMT, fabioromano1 <duke at openjdk.org> wrote:

> The enanchment is useful for applications that make heavy use of BitSet objects as sets of integers, and therefore they need to make a lot of calls to cardinality() method, which actually require linear time in the number of words in use by the bit set.
> This optimization reduces the cost of calling cardinality() to constant time, as it simply returns the value of the field, and it also try to make as little effort as possible to update the field, when needed.
> 
> Moreover, it has been implemented a new method for testing wheter a bit set includes another bit set (i.e., the set of true bits of the parameter is a subset of the true bits of the instance).

It would be better to see benchmark results other than cardinality operation.
To understand how big performance regression is.

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

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


More information about the core-libs-dev mailing list