roaringbitmap/roaringbitmap

A better compressed bitset in Java: used by Apache Spark, Netflix Atlas, Apache Pinot, Tablesaw, and many others

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 5 minutes ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 17th, 2026
Created on June 17th, 2013
Open Issues & Pull Requests: 78 (+0)
GitHub issues: Enabled
Number of forks: 592
Total Stargazers: 3,932 (+0)
Total Subscribers: 129 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.9 hours
Mean response time: 175.7 days
90th percentile: 399.9 days
Tracked items: 39

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 15
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 952 days
Stale 30+ days: 13
Stale 90+ days: 12

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (13)
  • bug (12)
  • help wanted (8)
  • gradle (4)
  • release process (3)
  • new feature (1)
  • performance (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

RoaringBitmap is a compressed bitset library for Java that outperforms conventional bitmap compression methods while often delivering better compression ratios and speed than uncompressed alternatives.

Bitsets are efficient data structures for many applications, but standard implementations consume significant memory. Roaring bitmaps solve this by using a hybrid compression approach that combines array and bitmap storage within a tree structure, adapting automatically to the density of the data. This design tends to outperform older compression schemes like WAH, EWAH, and Concise, sometimes by orders of magnitude, while remaining faster than uncompressed bitmaps in many scenarios.

The library suits projects that need fast set operations on large integer collections, particularly in data analytics, search indexing, and filtering workloads. It is especially valuable when memory efficiency matters alongside query speed. The tool supports unsigned integers, 64-bit longs, memory-mapped bitmaps, copy-on-write semantics, and range operations. It integrates with Maven and Gradle and provides Kryo serialization support. The README does not name specific alternatives beyond mentioning that roaring bitmaps outperform WAH, EWAH, and Concise compression methods.

The project maintains active engagement with its user base through a mailing list and discussion group. Development includes comprehensive benchmarking infrastructure to validate performance claims. The codebase supports multiple build environments including IntelliJ and Eclipse, with documented contribution guidelines. The library has been deployed in production across numerous high-profile systems including Apache Spark, Netflix Atlas, Apache Pinot, and Apache Druid, establishing it as a mature and battle-tested solution.