Re: [PATCH] seq_file: delete small-value optimization

From: Joe Perches
Date: Wed May 17 2017 - 19:25:13 EST


On Wed, 2017-05-17 at 13:33 +0300, Alexey Dobriyan wrote:
> > Joe Perches wrote:
> >
> > On Tue, 2017-05-16 at 23:42 +0300, Alexey Dobriyan wrote:
> > > num_to_str() optimizes printing small integers [0..9], so the same
> > > check higher in callchain is unnecessary.
> >
> > Doesn't the optimization exists for the frequent use of 0
> > in seq output?
> >
> > These seq_put_decimal calls are now slightly more expensive.
>
> That additional CALL instruction is hardly measurable so you're adding
> branch to skip branch in the next function.

It's not the call instruction.

num_to_str pushes the value first to stack
and then sets up a loop to copy those chars
to buffer.

The current code immediately pushes to buffer.

It's a fair amount of overhead.

Have you measured it?