Re: RFR: 8300487: Store cardinality as a field in BitSet

2023-01-18 Thread Simon Tooke
On Tue, 3 Jan 2023 23:25:39 GMT, fabioromano1  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).

(disclaimer - I am not a reviewer)
I think it's not recommended to do wholesale reformatting in a PR; it tends to 
obscure history and blurs the line between your essential changes and the 
non-essential changes.

-

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


Re: RFR: 8300487: Store cardinality as a field in BitSet

2023-01-18 Thread Simon Tooke
On Wed, 11 Jan 2023 16:02:40 GMT, Sergey Kuksenko  wrote:

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

Agreed - I suspect this is adding unnecessary overhead to the most common uses 
of BitSet; I'd be tempted to roll my own if this went in.  Benchmarks could add 
some level of comfort.

-

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