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!