questions

15 views
Skip to first unread message

Matan Tennenhaus

unread,
Nov 2, 2024, 6:27:28 PM11/2/24
to Roaring Bitmaps
1) I am trying to create behavior similar to roaring64_bitmap_remove_range_closed, but instead make like " roaring64_bitmap_get_range_close", meaning create from the bitmap and new bitmap, containing only the set bits in the given range.
The algorithm I created:

    b = roaring64_bitmap_copy(a, min, max);
    /* remove from a the range*/
    roaring64_bitmap_remove_range_closed(a, min, max);
    /* the difference will now have the keys in range min-max form a. */
    roaring64_bitmap_andnot_inplace(b, a);

Any recommendations regarding API usage/performance?

2) I am trying to aggregate 50-100 million set bits, from arrays of 300-500 numbers.
2.1) should i use the arrays as int arrays and then use roaring64_bitmap_add_many, or just make them also as roaring type and then use roaring64_bitmap_or_inplace?
2.1) how should i use roaring64_bitmap_run_optimize in that case? I am serializing the bitmap and writing to disk after finish aggregation, and I am trying to reduce the size in disk. Also of course reduce the performance overhead of adding the arrays to the big bitmap & it's space in ram.

Thanks!

Reply all
Reply to author
Forward
0 new messages