On Sun, Aug 15, 2021 at 12:21 AM Yury Norov yury.norov@gmail.com wrote:
bitmap_list_string() is very ineffective when printing bitmaps with long ranges of set bits because it calls find_next_bit for each bit in the bitmap. We can do better by detecting ranges of set bits.
In my environment, before/after is 943008/31008 ns.
I would add a couple of words, maybe in parentheses, to describe what your environment is.
...
buf = number(++buf, end, rtop - 1, default_dec_spec);
++buf is a bit confusing here. Since you will rewrite the buf value anyway, I would write the parameter as buf + 1.