RFR 8170159 Improve the performance of BitSet traversal
Paul Sandoz
paul.sandoz at oracle.com
Fri Jun 15 20:13:51 UTC 2018
Thanks! Doh, obvious in hindsight.
> On Jun 15, 2018, at 11:05 AM, Martin Buchholz <martinrb at google.com> wrote:
>
> It took me a while to realize why you were checking tz < 63. It's because the shift by 64 that might occur below would be a no-op!
Right!
> 1301 action.accept(i++);
> 1302 word &= (WORD_MASK << i);
> Can we rewrite to simply flip the one bit via
>
> word &= ~(1L << i);
> action.accept(i++);
>
> and then we can simplify the tz handling?
>
Yes, and there is no need to increment i:
http://cr.openjdk.java.net/~psandoz/jdk/JDK-8170159-bitset-traverse/webrev/src/java.base/share/classes/java/util/BitSet.java.sdiff.html <http://cr.openjdk.java.net/~psandoz/jdk/JDK-8170159-bitset-traverse/webrev/src/java.base/share/classes/java/util/BitSet.java.sdiff.html>
Paul.
More information about the core-libs-dev
mailing list