forked from RoaringBitmap/RoaringBitmap
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Sync fork #3
Open
IceMimosa
wants to merge
168
commits into
bitlap:bitlap
Choose a base branch
from
RoaringBitmap:master
base: bitlap
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Sync fork #3
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* common routine for counting new capacity in RunContainer * common routine for counting new capacity in MappeableArrayContainer * common routine for counting new capacity in MappeableRunContainer * common routine for counting new capacity in ArrayContainer * checkstyle
* already optimal mappable array constructors * container materialising already done
* binary search from start index * incorrect start index * binary search from start index also in MappeableRunContainer
* convert byte to int in a loop once only * simplified comparison of byte arrays * enrolled version should be the fastest * some compareTo methods can be replaced by more simple and performant appropriate equals() method * avoid duplicate method call * closely related unnecessary local variable * checkstyle * comparison of reference is unnecessary * unnecessary local variable * condition covered by subsequent conditions * mismatch simplification * use long instead of byte[6] * avoid backward value conversion, when original is available * mismatch() has to return length of shorter array, when all elements are equal * bugfix: bytes are reordered * bugfix: low 6 bytes, not high ones * bugfix: two different conditions cannot be merged into one
* Skip unnecessary offset computations * Skip unnecessary offset computations for mappable bitmap
* advanceIfNeeded optimization * expected and actual value swap * cleanup mesh & warnings * temporary performance comparison removed * Update jmh/src/jmh/java/org/roaringbitmap/AdvanceIfNeededBenchmark.java Co-authored-by: Daniel Lemire <[email protected]> --------- Co-authored-by: Daniel Lemire <[email protected]>
* real iand between run and array container * faster run container iteration * real iandnot between array and run container * real iandnot between array and run mappable container
* avoid compute cardinality for run container using contains() instead * benchmark for optimized checkedAdd() * benchmark uses enums for testing scenarios
* use isEmpty() on bitmap instead of getCardinality() * not empty is correct
* skip use numberOfTrailingZeros() if value is equal to zero * replaceChildren() optimization for Node256 * use of toUnsignedInt() when values are not empty * replaceChildren() simplification for Node4 and Node16 * replaceChildren() optimization for Node48 * unintended import change * temporary benchmark removed
* benchmark for removal top values from bitmap * remove current value when iterating on bitmap works properly * use remove() to delete first K values
* Added unit test for expose batchiterator.advanceIfNext bug * Fix batchiterator's advanceIfNeeded to logic to handle run lengths of zero * Addressed comments
…n from array containers to bitmap (#683) * code deduplication in ior() for array containers * code deduplication when converting to bitmap from array containers * use ixor() instead of xor() to avoid cloning
…ap slice index (#693) * use isEmpty() on bitmap instead of getCardinality() * not empty is correct
* avoid compute cardinality for run container using contains() instead * benchmark for optimized checkedAdd() * benchmark uses enums for testing scenarios
* benchmark for removal top values from bitmap * remove current value when iterating on bitmap works properly * use remove() to delete first K values
* addOffset() optimized for array containers * avoid use of local variable for optimized version * use of local variable variant is the most performant * renamed methods due to their confusing overloading
Co-authored-by: haiyang.zhou <[email protected]>
Co-authored-by: haiyang.zhou <[email protected]> Co-authored-by: Daniel Lemire <[email protected]>
* trying spotless * Small change * CherryPick latest build.gradle.kts with Spotless * Spotless with latest configuration * Setup ratchetFrom * Add comments * Change Spotless version to 6.25.0, latest stabl;e * .gitignore handles .java-version * Apply suggested importOrder * Clean wildcard imports, and prevent them with Spotless --------- Co-authored-by: Daniel Lemire <[email protected]>
…compatible with roaring(Go)) (#760) * add NavigableMapSliceIndex support * close datainputstream after deserialize * small changes * 1. code fix for CR; 2. add serializationMode local variable; 3. support legecy/portable(default) serialization mode for Roaring64NavigableMapSliceIndex * 1. add more documents 2. keep Roaring64NavigableMap.SERIALIZATION_MODE public & static 3. remove ser/deser using bytebuffer * 1. keep SERIALIZATION_MODE in Roaring64NavigableMap 2. add 'DEFAULT_BSI64_NAVIGABLE_SERIALIZATION_MODE' in Roaring64NavigableMapSliceIndex 3. add a go-compatable serialization format in Roaring64NavigableMapSliceIndex, leave others unimplemented * --author=haiyang.zhou <[email protected]> 1. add sanity checks in test 2. add documents about limit of Roaring64NavigableMap.clone * tiny modification of javadoc * set minValue and maxValue when deserialize & clone * make minValue() and maxValue() public, and and some assertions in unittests * add some assertions in unittests --------- Co-authored-by: haiyang.zhou <[email protected]> Co-authored-by: haiyang.zhou <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
SUMMARY
Automated Checks
./gradlew test
and made sure that my PR does not break any unit test../gradlew checkstyleMain
or the equivalent and corrected the formatting warnings reported.