Hi hackers!
I was reviewing Paul Ramsey's TOAST patch[0] and noticed that there is a big room for improvement in performance of
pglzcompression and decompression.
With Vladimir we started to investigate ways to boost byte copying and eventually created test suit[1] to investigate
performanceof compression and decompression.
This is and extension with single function test_pglz() which performs tests for different:
1. Data payloads
2. Compression implementations
3. Decompression implementations
Currently we test mostly decompression improvements against two WALs and one data file taken from pgbench-generated
database.Any suggestion on more relevant data payloads are very welcome.
My laptop tests show that our decompression implementation [2] can be from 15% to 50% faster.
Also I've noted that compression is extremely slow, ~30 times slower than decompression. I believe we can do something
aboutit.
We focus only on boosting existing codec without any considerations of other compression algorithms.
Any comments are much appreciated.
Most important questions are:
1. What are relevant data sets?
2. What are relevant CPUs? I have only XEON-based servers and few laptops\desktops with intel CPUs
3. If compression is 30 times slower, should we better focus on compression instead of decompression?
Best regards, Andrey Borodin.
[0] https://www.postgresql.org/message-id/flat/CANP8%2BjKcGj-JYzEawS%2BCUZnfeGKq4T5LswcswMP4GUHeZEP1ag%40mail.gmail.com
[1] https://github.com/x4m/test_pglz
[2] https://www.postgresql.org/message-id/C2D8E5D5-3E83-469B-8751-1C7877C2A5F2%40yandex-team.ru