Re: [PATCH 17/17] vsprintf: rework bitmap_list_string

From: Yury Norov
Date: Tue Aug 17 2021 - 12:35:34 EST


On Sun, Aug 15, 2021 at 02:09:45PM +0300, Andy Shevchenko wrote:
> On Sun, Aug 15, 2021 at 12:21 AM Yury Norov <yury.norov@xxxxxxxxx> 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.

Agree, it's sloppy. I'll send the patch by tomorrow.