RoaringBitmap / RoaringBitmap/roaring-rs
0.9.0 Tracking Issue
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 957
- Forks
- 119
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 1
Description
Here's what I think is still left before next release
- #129
- #167
- #135
- #176
- #177
- quantify perf delta for stable
- quantify perf delta for nightly+simd
- manually verify docs
- #199
- #202
- create release notes
- #193
- #194
- #200
- #205
-
#204(deferred to next release)
Release notes
-
Breaking changes
- Removed deprecated set ops such as
union_with. Use the corresponding operators|=. - MSRV increased to 1.56
deserialize_fromvalidates inputs. It some cases it can be 4x slower. For workloads that are heavy in deserialization from trusted sources migrate todeserialize_unchecked_from
- Removed deprecated set ops such as
-
Performance optimizations
from_sorted_iterandappendare exponentially faster. They should be preferred overcollectandextendwhenever adding monotonically increasing integers to the set as it's about 2-2.5x faster.- Other performance optimizations.
Min Mean Max Iteration 6% 57% 125% And 0% 7% 22% Or 0% 10% 33% Sub 0% 9% 39% Xor 4% 90% 209%
-
New features
rankReturns the number of integers that are <= value. rank(u64::MAX) == len()selectReturns thenth integer in the set orNoneifn <= len()union_lenintersection_len... and so on. Compute the cardinality of a set operation without materializing it. Usually about twice as fast as materializing the bitmap.- implemented
DoubleEndedIterator - implemented
ExactSizeIterator(on 64 bit targets only) - EXPERIMENTAL SIMD feature (requires rust nightly)
Min Mean Max And 0% 34% 141% Or 2% 45% 145% Sub 0% 51% 168% Xor 0% 130% 437%
-
Other
- Added property testing suite for set operations
- Added many benchmarks and real world datasets
Perf numbers are for pairwise operations on collections of bitmaps from real datasets.
Pairwise as in: B1 ∩ B2, B2 ∩ B3, ... BN-1 ∩ BN
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
This is a 0.9.0 release-tracking issue whose checklist is fully completed, including documentation verification and release notes. There is no remaining file, test, or entry point named for a newcomer to investigate; confirm the release status and treat the issue as complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- documentation, release
- Issue type
- Documentation
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 1/100