Compressed bitmaps in Java

A bitmap is an efficient array of boolean values. They are commonly used in bitmap indexes. The Java language has a bitmap class: BitSet.

Unfortunately, the Java BitSet class will not scale to large sparse bitmaps—the Sun implementation does not use compression.

I published a new free alternative: JavaEWAH.

References:

Credit:

  • Glen Newton gave me the idea for this project.

Published by

Daniel Lemire

A computer science professor at the University of Quebec (TELUQ).

7 thoughts on “Compressed bitmaps in Java”

  1. I have just downloaded the software. I have just one preliminary question: how are you sure that EWAH is not patented. In other words why do you think that a patent on WAH does not cover EWAH as well.

  2. Hi,

    Great paper, great wok, nothing to add… I’m currently in Dublin, Ireland, it is amazing that I can download your paper and enjoy your work. Thanks a lot!

  3. Daniel,

    Is there a way to check whether a bit at the given position is set? In the constant time of course, not using the iterator. Thanks in advance.

  4. What are your thoughts on a Javascript implementation of EWAH?
    I’m curious if the benefits of cache coherency would outweigh the lack of 64-bit integer support and other JS inefficiencies.

Leave a Reply

Your email address will not be published. The comment form expects plain text. If you need to format your text, you can use HTML elements such strong, blockquote, cite, code and em. For formatting code as HTML automatically, I recommend tohtml.com.

You may subscribe to this blog by email.