I have done some performance comparisons.
First of all I failed to run vectorized version of Q1 with master branch
of your repository and
PG9_6_STABLE branch of Postgres:
NOTICE: query can't be vectorized
DETAIL: Non plain agg is not supported
I have to switch to pg96 branch.
Results (seconds) of Q1 execution are the following:
max_parallel_workers_per_gather
PG9_6, enable_vectorize_engine=off
PG9_6, enable_vectorize_engine=on
master (jit=on)
0
36
20
10
4
10
-
5
I failed to run parallel version of Q1 with enable_vectorize_engine=on
because of the same error: "Non plain agg is not supported"
So looks like PG-13 provides significant advantages in OLAP queries
comparing with 9.6!
Definitely it doesn't mean that vectorized executor is not needed for
new version of Postgres.
Once been ported, I expect that it should provide comparable improvement
of performance.
But in any case I think that vectorized executor makes sense only been
combine with columnar store.
--
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company