> 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 co
> 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 co
On Thu, 19 Jan 2023 23:14:12 GMT, John R Rose wrote:
> I'll pile on: This optimization doesn't buy much in today's world, where most
> machines execute `bitCount` in one cycle. It saves a trivial loop. Over very
> large bitsets that saves something, but most bitsets are likely to be medium
> t
On Wed, 18 Jan 2023 12:43:31 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
>> wor
On Wed, 18 Jan 2023 12:43:31 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
>> wor
On Wed, 18 Jan 2023 12:43:31 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
>> wor
On Wed, 18 Jan 2023 12:43:31 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
>> wor
On Thu, 19 Jan 2023 14:03:38 GMT, fabioromano1 wrote:
> Libraries cannot be all things to all users. A library provides a service
> that would be difficult for a majority of users to implement on their own.
> Sometimes a library needs specialization for certain use cases. That is why
> we use
On Thu, 19 Jan 2023 13:24:03 GMT, Jim Laskey wrote:
> Libraries cannot be all things to all users. A library provides a service
> that would be difficult for a majority of users to implement on their own.
> Sometimes a library needs specialization for certain use cases. That is why
> we use su
On Wed, 18 Jan 2023 12:43:31 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
>> wor
On Wed, 18 Jan 2023 21:51:02 GMT, Martin Buchholz wrote:
> Like other reviewers, changing the performance tradeoffs in BitSet make me
> uncomfortable.
>
> 30 years of code has adapted to the current performance tradeoffs. Those
> users who really need O(1) cardinality() can fairly easily imple
On Wed, 18 Jan 2023 12:43:31 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
>> wor
On Wed, 18 Jan 2023 14:15:17 GMT, Uwe Schindler wrote:
> As one dealing with bitsets very often: In my opinion, adding this to bitset
> adds too much overhead on the hot methods like set/clear methods. Especially
> loops that populate a BitSet with values, I am not sure if the whole loop can
>
On Wed, 18 Jan 2023 12:43:31 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
>> wor
On Wed, 18 Jan 2023 12:43:31 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
>> wor
On Wed, 18 Jan 2023 12:43:31 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
>> wor
On Wed, 18 Jan 2023 12:43:31 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
>> wor
On Wed, 18 Jan 2023 12:43:31 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
>> wor
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 t
> 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 co
On Wed, 18 Jan 2023 11:37:05 GMT, Alan Bateman wrote:
> It looks all the javadoc and several areas of the code have been
> re-formatted. Please revert all of this as it's impossible to see what has
> been changed.
Done.
-
PR: https://git.openjdk.org/jdk/pull/11837
> 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 co
> 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 co
On Wed, 18 Jan 2023 11:31:23 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
>> wor
> 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 co
On Wed, 11 Jan 2023 15:33:47 GMT, Claes Redestad wrote:
>> I agree with the fact that is less intrusive, but certainly not potentially
>> quicker, since the complete recalculation of cardinality requires linear
>> time in the value of wordsInUse
>
> A perhaps slightly less racy way would be to
On Wed, 11 Jan 2023 13:23:44 GMT, fabioromano1 wrote:
>> src/java.base/share/classes/java/util/BitSet.java line 421:
>>
>>> 419: final long bitMask = 1L << bitIndex;
>>> 420: words[wordIndex] ^= bitMask;
>>> 421: cardinality += (words[wordIndex] & bitMask) != 0 ? 1 : -1;
On Wed, 11 Jan 2023 12:57:47 GMT, Jim Laskey 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
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
On Wed, 18 Jan 2023 06:36:56 GMT, Julian Waters wrote:
> @fabioromano1 Would you like me to create an entry for you for the Pull
> Request is linked to the appropriate mailing list? When I do that you will
> have to change the name of this Pull Request though
Yes, thank you very much.
---
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
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
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
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 call
34 matches
Mail list logo