Re: pglz performance - Mailing list pgsql-hackers

From Andrey Borodin
Subject Re: pglz performance
Date
Msg-id B297A106-FFB1-4B5D-9D9A-6FFBAB16A279@yandex-team.ru
Whole thread Raw
In response to Re: pglz performance  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Responses Re: pglz performance
Re: pglz performance
List pgsql-hackers
Hi, Peter! Thanks for looking into this.

> 4 сент. 2019 г., в 14:09, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> написал(а):
>
> On 2019-06-24 10:44, Andrey Borodin wrote:
>>> 18 мая 2019 г., в 11:44, Andrey Borodin <x4mmm@yandex-team.ru> написал(а):
>>>
>> Hi!
>> Here's rebased version of patches.
>>
>> Best regards, Andrey Borodin.
>
> I think this is the most recent patch for the CF entry
> <https://commitfest.postgresql.org/24/2119/>.
>
> What about the two patches?  Which one is better?
On our observations pglz_decompress_hacked.patch is best for most of tested platforms.
Difference is that pglz_decompress_hacked8.patch will not appply optimization if decompressed match is not greater than
8bytes. This optimization was suggested by Tom, that's why we benchmarked it specifically. 

> Have you also considered using memmove() to deal with the overlap issue?
Yes, memmove() resolves ambiguity of copying overlapping regions in a way that is not compatible with pglz. In proposed
patchwe never copy overlapping regions. 

> Benchmarks have been posted in this thread.  Where is the benchmarking
> tool?  Should we include that in the source somehow?

Benchmarking tool is here [0]. Well, code of the benchmarking tool do not adhere to our standards in some places, we
didnot consider its inclusion in core. 
However, most questionable part of benchmarking is choice of test data. It's about 100Mb of useless WALs, datafile and
valuableShakespeare writings. 

Best regards, Andrey Borodin.


[0] https://github.com/x4m/test_pglz




pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: pglz performance
Next
From: Shawn Wang
Date:
Subject: Re: WIP: Data at rest encryption