-
Couldn't load subscription status.
- Fork 242
add a new compare func CompareValueONeil for bsi, which faster than CompareValue #461
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…oNeilCompare), only for number which is >= 0
|
Test code read my file "total.bin" result |
|
I will run some tests in my environment. In the meantime, could we come up with a better more descriptive name for this function? |
|
Also (and better yet), when constructing the BSI we could potentially set min/max value providing some context about the nature of the data being stored in the BSI. Then we could choose to apply the optimization without creating an entirely new API. |
yes, more descriptive name is better |
Yes, util now, BSI's min/max doesn't be refreshed when setValues or deserialization. If min/max exist in BSI, new API can cancel. |
|
Is there some news on this PR? |
|
I'm also interested in the progress of this. Are you still working on this @ChicChip? |
bsi32 and bsi64 are supported in commit, but this request(#461 (comment)) about set min/max i haven't done yet. |
According to Java's compare function , I code a new function CompareValueONeil for go version ,and it only support number which is >= 0 , it is faster than CompareValue. When bsi include 200 million columnIds, using same range query,CompareValueONeil is cost about 1s when CompareValue cost about 12s(https://github.com/RoaringBitmap/RoaringBitmap/blob/cca90c986d5c0096bbeabb5f968833bf12c28c0e/bsi/src/main/java/org/roaringbitmap/bsi/longlong/Roaring64BitmapSliceIndex.java#L456)