Re: WIP: Faster Expression Processing v4
Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
From: Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
To: pgsql-hackers@postgresql.org
Date: 2017-03-13T17:10:48Z
Lists: pgsql-hackers
On 13.03.2017 11:03, Andres Freund wrote: > Hi, > > On 2017-03-12 05:40:51 +0100, Tomas Vondra wrote: >> I wanted to do a bit of testing and benchmarking on this, but 0004 seems to >> be a bit broken. > Well, "broken" in the sense that it's already outdated, because other > stuff that got merged. > > >> The patch does not apply anymore - there are some conflicts >> in execQual.c, but I think I fixed those. But then I ran into a bunch of >> compile-time errors, because some of the executor nodes still reference bits >> that were moved elsewhere. > Updated patch attached. Note that this patch has two changes I've not > yet evaluated performance-wise. I got the following results at my system with Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz, 16Gb RAM, TPC-H Q1/Q6 scale 10, sharedBuffers=8Gb, pg_prewarm on lineitem table projection: Q1 Q6 Master 7503 ms 1171 ms Your patch 6420 ms 1034 ms VOPS 396 ms 249 ms VOPS + patch 367 ms 233 ms -- Konstantin Knizhnik Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
Commits
-
Improve performance of ExecEvalWholeRowVar.
- 2f0903ea1965 10.0 landed
-
Remove unreachable code in expression evaluation.
- ad46a2aa79f9 10.0 landed
-
Faster expression evaluation and targetlist projection.
- b8d7f053c5c2 10.0 landed
-
Avoid syntax error on platforms that have neither LOCALE_T nor ICU.
- 457a44487328 10.0 cited
-
Add configure test to see if the C compiler has gcc-style computed gotos.
- bc18126a6bcb 10.0 landed
-
Improve regression test coverage for TID scanning.
- be6c3d19fd45 10.0 landed
-
Improve expression evaluation test coverage.
- ce38949ba23a 10.0 landed
-
Fix two errors with nested CASE/WHEN constructs.
- f0c7b789ab12 9.6.0 cited