From: | Arseny Sher <sher-ars(at)ispras(dot)ru> |
---|---|
To: | obartunov(at)gmail(dot)com |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Arseny Sher <sher-ars(at)yandex(dot)ru>, pgsql-hackers(at)postgresql(dot)org, pgsql-students(at)postgresql(dot)org |
Subject: | Re: [GSoC] Push-based query executor discussion |
Date: | 2017-03-25 12:47:44 |
Message-ID: | 87shm1zfnz.fsf@ispras.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-students |
I have cleaned up the code a bit and added the separation I mentioned in
a previous mail -- now we there are even three functions instead of old
ExecProcNode: one for starting leaf nodes, one for passing tuples and
one for signaling that the node has finished its job. It is all
described in execProcnode.c.
I also rewrote HashJoin without using the explicit state machine. It
seems slightly cleaner to me now...
Here are updated benchmarks:
+-----+-----------+---------+----------+
|query|reversed, s|master, s|speedup, %|
+-----+-----------+---------+----------+
|q01 |108.21 |117.88 |8.94 |
+-----+-----------+---------+----------+
|q03 |55.48 |58.805 |5.99 |
+-----+-----------+---------+----------+
|q04 |78.405 |81.86 |4.41 |
+-----+-----------+---------+----------+
|q05 |49.91 |51.18 |2.54 |
+-----+-----------+---------+----------+
|q10 |49.215 |52.61 |6.9 |
+-----+-----------+---------+----------+
|q12 |63.24 |68.505 |8.33 |
+-----+-----------+---------+----------+
|q14 |33.42 |35.31 |5.66 |
+-----+-----------+---------+----------+
As before, 24 runs were performed, median taken, scale is 40GB,
postgresql.conf is the same.
Patches are rebased, now they apply on 4dd3abe99f50.
--
Arseny Sher
Attachment | Content-Type | Size |
---|---|---|
0001-parent-param-added-to-ExecInitNode-parent-field-adde.patch | text/x-diff | 20.5 KB |
0002-Nodes-interface-functions-stubbed.patch | text/x-diff | 23.3 KB |
0003-Base-for-reversed-executor.patch | text/x-diff | 21.9 KB |
0004-Reversed-SeqScan-implementation.patch | text/x-diff | 18.9 KB |
0005-Reversed-HashJoin-implementation.patch | text/x-diff | 40.0 KB |
0006-Reversed-Limit-implementation.patch | text/x-diff | 11.7 KB |
0007-Reversed-hashed-Agg-implementation.patch | text/x-diff | 42.9 KB |
0008-Reversed-in-memory-Sort-implementation.patch | text/x-diff | 10.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Craig Ringer | 2017-03-25 12:50:47 | Re: PATCH: Batch/pipelining support for libpq |
Previous Message | Surafel Temesgen | 2017-03-25 12:41:07 | Re: New CORRESPONDING clause design |
From | Date | Subject | |
---|---|---|---|
Next Message | Dong Yuan | 2017-03-26 15:08:13 | [GSoC] Explicitly support predicate locks in index access methods besides btree |
Previous Message | Charles Cui | 2017-03-23 16:13:35 | Fwd: GSOC 2017 project ideas |