Re: pgsql: Add parallel-aware hash joins.
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Thomas Munro <thomas.munro@enterprisedb.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2018-01-24T18:28:41Z
Lists: pgsql-hackers
Hi, On 2018-01-24 13:11:22 -0500, Robert Haas wrote: > So for me, the additional hash index tests don't cost anything > measurable and the additional hash join tests cost about a second. I > think this probably accounts for why committers other than you keep > "adding so much time to the regression tests". On modern hardware, > the costs just don't matter. I very much agree with the general sentiment, but a second of a 25s test certainly isn't nothing. As I've just written a few messages upthread, I think we can hide the overall timing costs to a much larger degree than we're doing, but I don't think we need not pay attention at all. > Now, how much should we care about the performance of software with a > planned release date of 2018 on hardware discontinued in 2001, > hardware that is apparently about 20 times slower than a modern > laptop? Some, perhaps, but maybe not a whole lot. Removing tests > that have found actual bugs because they cost runtime on ancient > systems that nobody uses for serious work doesn't make sense to me. I again agree with the sentiment. One caveat is that old machines also somewhat approximate testing with more instrumentation / debugging enabled (say valgrind, CLOBBER_CACHE_ALWAYS, etc). So removing excessive test overhead has still quite some benefits. But I definitely do not want to lower coverage to achieve it. Greetings, Andres Freund
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