Re: pglz performance

From: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: Gasper Zejn <zejn(at)owca(dot)info>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: pglz performance
Date: 2019-09-28 08:29:18
Message-ID: 3C62CD88-AEAC-4041-9BF3-ACCE70C3A5F8@yandex-team.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Oleg, Peter, thanks for looking into this!

I hope to benchmark decompression on Silesian corpus soon.

PFA v2 with better comments.

> 27 сент. 2019 г., в 14:41, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> написал(а):
>
> After reviewing this thread and more testing, I think
> 0001-Use-memcpy-in-pglz-decompression.patch appears to be a solid win
> and we should move ahead with it.
>
> I don't, however, fully understand the code changes, and I think this
> could use more and better comments. In particular, I wonder about
>
> off *= 2;
I've changed this to
off += off;

>
> This is new logic that isn't explained anywhere.
>
> This whole function is commented a bit strangely. It begins with
> "Otherwise", but there is nothing before it. And what does "from OUTPUT
> to OUTPUT" mean? There is no "output" variable. We should make this
> match the code better.

I've added small example to illustrate what is going on.

Thanks!

--
Andrey Borodin
Open source RDBMS development team leader
Yandex.Cloud

Attachment Content-Type Size
v2-0001-Use-memcpy-in-pglz-decompression.patch application/octet-stream 3.2 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2019-09-28 12:03:10 Re: PATCH: logical_work_mem and logical streaming of large in-progress transactions
Previous Message Antonin Houska 2019-09-28 08:15:56 Re: Attempt to consolidate reading of XLOG page