# Roaring Bitmaps

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

Repository: https://github.com/RoaringBitmap/RoaringBitmap
Canonical: https://ross.abutalabs.com/products/roaring-bitmaps
Homepage: http://roaringbitmap.org/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: java, bitset, roaring-bitmaps, roaringbitmap, druid, spark, lucene
Last push: 2026-08-05T21:41:39+00:00
Link (homepage): http://roaringbitmap.org/

## Health v2 (maintenance only)
Score: 97/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 96, release rhythm 96, longevity 100
- inputs: {"age_days": 4825, "days_push": 28, "days_rel": 28, "gap_med": 15.5, "n_releases_24m": 29}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3918, forks 593 (observed 2026-08-28T04:08:28.960901+00:00)

## What it is
Roaring Bitmaps is a Java library providing compressed bitsets that outperform conventional compressed bitmap formats like WAH, EWAH, and Concise in both speed and compression. It is widely adopted in big data systems such as Apache Spark, Hive, Druid, Pinot, and Iceberg.

## Use cases
- compress large sets of integers efficiently
- fast set operations like union and intersection on bitmaps
- build bitmap indexes for columnar databases
- reduce memory usage of bitsets in analytics engines
- serialize and memory-map compressed bitmaps
- implement inverted indexes for search

## When to choose
- you need fast, memory-efficient set operations over large integer sets
- you are building analytics, search, or OLAP systems on the JVM
- you need a battle-tested library used by Spark, Druid, and Pinot
- you need serialization and memory-mapped bitmap support

## When to avoid
- your integer sets are small or dense enough that plain bitsets suffice
- you need 64-bit keys without using the dedicated long-based variant
- you are not on the JVM and should use the C, Go, or Rust Roaring ports instead

## Facets
- artifact type: library
- maturity: stable
- function: serialization, search-engine, database
- domain: databases, big-data, analytics, performance
- platform: jvm, cross-platform
- tags: bitset, bitmap-index, compression, roaring-bitmaps, data-structures, algorithms

## Member repositories
- RoaringBitmap/RoaringBitmap (main) score 97
- RoaringBitmap/roaring (sdk) score 99
- RoaringBitmap/CRoaring (sdk) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:28.960901+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:25:01.472886+00:00, confidence not recorded.
  - readme: https://github.com/RoaringBitmap/RoaringBitmap (fetched 2026-08-28T04:08:28.960901+00:00, sha 97ec1efaa145)
  - homepage: http://roaringbitmap.org/ (fetched 2026-08-29T09:18:48.720083+00:00, sha 44136fa355b3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
