Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeRAX-0006xa-Ad for pgsql-hackers@arkaria.postgresql.org; Wed, 24 Jan 2018 19:57:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeRAW-00049w-Tu for pgsql-hackers@arkaria.postgresql.org; Wed, 24 Jan 2018 19:57:12 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1eeRAW-00049l-FL for pgsql-hackers@lists.postgresql.org; Wed, 24 Jan 2018 19:57:12 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eeRAT-00044d-Rz for pgsql-hackers@postgresql.org; Wed, 24 Jan 2018 19:57:11 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id w0OJv4GE015914; Wed, 24 Jan 2018 14:57:04 -0500 From: Tom Lane To: Andres Freund cc: Robert Haas , Thomas Munro , "pgsql-hackers@postgresql.org" Subject: Re: pgsql: Add parallel-aware hash joins. In-reply-to: <14488.1516822307@sss.pgh.pa.us> References: <30219.1514428346@sss.pgh.pa.us> <4503.1514435195@sss.pgh.pa.us> <21339.1516633310@sss.pgh.pa.us> <24384.1516665190@sss.pgh.pa.us> <12736.1516749056@sss.pgh.pa.us> <20180124182841.ep7yr6tgqazsoilu@alap3.anarazel.de> <14488.1516822307@sss.pgh.pa.us> Comments: In-reply-to Tom Lane message dated "Wed, 24 Jan 2018 14:31:47 -0500" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" Content-ID: <15766.1516823678.0@sss.pgh.pa.us> Date: Wed, 24 Jan 2018 14:57:04 -0500 Message-ID: <15913.1516823824@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk ------- =_aaaaaaaaaa0 Content-Type: text/plain; charset="us-ascii" Content-ID: <15766.1516823678.1@sss.pgh.pa.us> I wrote: > I find that to be a completely bogus straw-man argument. The point of > looking at the prairiedog time series is just to see a data series in > which the noise level is small enough to discern the signal. If anyone's > got years worth of data off a more modern machine, and they can extract > a signal from that, by all means let's consider that data instead. Just to make the point, I scraped the numbers for skink's "installcheck" and "check" steps, which are data series I imagine at least Andres will concede are worth paying attention to. I made no attempt to clean outliers, so these curves are pretty noisy, but I think there is a very clear upward bump since mid-December. regards, tom lane ------- =_aaaaaaaaaa0 Content-Type: image/png; name="skink-installcheck.png" Content-ID: <15766.1516823678.2@sss.pgh.pa.us> Content-Description: skink-installcheck.png Content-Transfer-Encoding: base64 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 RU5ErkJggg== ------- =_aaaaaaaaaa0 Content-Type: image/png; name="skink-check.png" Content-ID: <15766.1516823678.3@sss.pgh.pa.us> Content-Description: skink-check.png Content-Transfer-Encoding: base64 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 YII= ------- =_aaaaaaaaaa0--