Re: [PATCH 2/3] lib: zlib_inflate: improves decompression performance

From: Jann Horn
Date: Wed Nov 11 2020 - 20:36:56 EST


On Wed, Nov 11, 2020 at 5:06 PM Zhaoxiu Zeng <zengzhaoxiu@xxxxxxx> wrote:
> 在 2020/11/11 11:46, Jann Horn 写道:
> > On Mon, Nov 9, 2020 at 8:27 PM <zengzhaoxiu@xxxxxxx> wrote:
> >> This patch does:
> >> 1. Cleanup code and reduce branches
> >> 2. Use copy_from_back to copy the matched bytes from the back output buffer
> >
> > What exactly is copy_from_back()? Is it like memmove()? If yes, have
> > you tried using memmove() instead of the code added in patch 1/3?
> >
>
> If use memcpy(or memmove), the code will be like this:
> while (dist < len) {
> memcpy(out, out - dist, dist);
> out += dist;
> len -= dist;
> }
> memcpy(out, out - dist, len);

Ah, thanks. So basically it means: "repeatedly copy a pattern of
length `dist` from `out-dist` to `out` until `len` bytes have been
written"