Redis 8.12-rc1 adds an opt-in roaring bitmap encoding that cuts sparse bitmap memory roughly 100x
Redis 8.12-rc1 introduces a second, opt-in internal representation for bitmaps based on Roaring Bitmaps, along with a new BITRANGEINTARRAY command. In a test with 20,000 bits scattered across a 200-million-bit range, the roaring encoding reduced memory use from about 24MB to about 239KB. BITCOUNT throughput also rose roughly fourteenfold on that sparse bitmap. The gains do not carry over to dense, unpatterned bitmaps, where the roaring form came out about 1% larger and performance was nearly unchanged. The roaring form also remains a distinct bitmap type rather than a string encoding, so string commands such as GETRANGE reject it with a WRONGTYPE error.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)
Log in to join the discussion and vote.
Log in