Re: pgsql: Add parallel-aware hash joins.
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Thomas Munro <thomas.munro@enterprisedb.com>,
Andres Freund <andres@anarazel.de>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2018-01-23T19:24:56Z
Lists: pgsql-hackers
On Mon, Jan 22, 2018 at 6:53 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Here's a possibly more useful graph of regression test timings over > the last year. I pulled this from the buildfarm database: it is the > reported runtime for the "installcheck-C" step in each successful > build of HEAD on dromedary, going back to Jan. 2017. I picked dromedary > because I know that that machine hasn't gotten any software updates > nor is there anything else very interesting going on on it. I dropped > three or four obvious outlier reports (possibly those ran during the > machine's nightly backup cron job). The reported runtime is only > precise to 1s, and a couple seconds jitter is hardly surprising, so > there's a good deal of noise. Still, it's possible to discern when > I put some effort into test runtime reduction back in April, and > it can be seen that things have gotten notably slower since the > beginning of November. Right, but this doesn't seem to show any big spike in the runtime at the time when parallel hash was committed, or when the preparatory patch to add test coverage for hash joins got committed. Rather, there's a gradual increase over time. Either we're making the server slower (which would be bad) or we're adding proper test coverage for all the new features that we're adding (which would be good). We can't expect every feature patch to preserve the runtime of the tests absolutely unchanged; figuring out what can be optimized is a separate exercise from adding test coverage either for new things or for things that weren't previously covered. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Update obsolete sentence in README.parallel.
- 28e04155f17c 11.0 cited
-
Rewrite ConditionVariableBroadcast() to avoid live-lock.
- aced5a92bf46 11.0 cited
-
Tweak parallel hash join test case in hopes of improving stability.
- 934c7986f4a0 11.0 landed
-
Rename pg_rewind's copy_file_range() to avoid conflict with new linux syscall.
- 3e68686e2c55 11.0 cited
-
Fix some minor errors in new PHJ code.
- 6fcde2406304 11.0 landed
-
Fix EXPLAIN ANALYZE output for Parallel Hash.
- 93ea78b17c47 11.0 landed
-
Fix rare assertion failure in parallel hash join.
- f83040c62a78 11.0 landed
-
Cancel CV sleep during subtransaction abort.
- f3decdc94ea3 10.2 landed
- 59d1e2b95a82 11.0 landed
-
Add parallel-aware hash joins.
- 1804284042e6 11.0 cited
-
Fix EXPLAIN ANALYZE of hash join when the leader doesn't participate.
- 5bcf389ecfd4 11.0 cited
-
Add some regression tests that exercise hash join code.
- fa330f9adf4e 11.0 cited