db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Øystein Grøvlen (JIRA) <j...@apache.org>
Subject [jira] Commented: (DERBY-2191) Cleanup of FormatableBitSet
Date Mon, 29 Jan 2007 13:41:50 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12468277

Øystein Grøvlen commented on DERBY-2191:

> Dyre Tjeldvoll commented on DERBY-2191:
> ---------------------------------------
> I agree that the javadoc comment for anySetBit should be improved,
> and will include this in the next version of the patch.


> I'll take a look at ResultColumnList.generateHolderMethod() and see
> if anything can be done.

Before putting too much effort into that, I think you should consider
whether this is a time critical function.  Since its seem to be used
during compilation, it might not be that critical.

> Wrt. firstSet(): I did consider your approach, but that will always
> result in 4 comparisons. The current approach will give an average
> of 4 comparisons if the set bits are uniformly distributed in the
> byte. If you look at how firstSet is used in anySetBit(int) you'll
> see that the argument is frequently shifted a number of bits to the
> left. So the bits are not uniformly distributed, but rather
> clustered in the beginning of the byte.

Good point, and thinking a bit more about this, even if my suggestion
will always give 3 (not 4!)  comparisons, I think your way is probably
better also when you do not take the shifting into account.  If all
bit combinations are equally likely, 50% of the cases will only need
one comparison, and the average number of comparisons will be just
below 2.  (I think your numbers assume that only one bit is set at a

> Cleanup of FormatableBitSet
> ---------------------------
>                 Key: DERBY-2191
>                 URL: https://issues.apache.org/jira/browse/DERBY-2191
>             Project: Derby
>          Issue Type: Improvement
>          Components: Miscellaneous
>    Affects Versions:
>            Reporter: Dyre Tjeldvoll
>         Assigned To: Dyre Tjeldvoll
>            Priority: Trivial
>             Fix For:
>         Attachments: anysetbit.v1.diff, anysetbit.v1.stat, anysetbit.v2.diff, bitops.v1.diff,
bitops.v1.stat, bitops.v2.diff, bitops.v2.stat, bitops.v3.diff, bitopt.v1.diff, bitopt.v1.stat,
bitopt.v2.diff, boundarycheck.v1.diff, boundarycheck.v1.stat, cleanup2191.diff, cleanup2191.stat,
deadcode.v1.diff, deadcode.v2.diff, fbstst.v1.diff, fbstst.v1.stat, FormatableBitSetTest.java,
numbitsset.v1.diff, numbitsset.v1.stat, unusedmethods.v1.diff, unusedmethods.v1.stat, valuenotnull.v1.diff,
> The implementation of FormatableBitSet could be streamlined. Dead code can be removed
and the implementation of some methods can be simplified.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message