Re: Performance difference in accessing differrent columns in a Postgres Table

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>, Dinesh Kumar <dns98944(at)gmail(dot)com>, postgres performance list <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Performance difference in accessing differrent columns in a Postgres Table
Date: 2018-08-01 15:21:21
Message-ID: CAMkU=1zrdi8Ga21E_ECQ8bP+9+Q7E76gkG5Xj_MLkuCQNm4mDg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Mon, Jul 30, 2018 at 3:02 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:

> Hi,
>
> On 2018-07-30 13:31:33 -0400, Jeff Janes wrote:
> > I don't know where the time is going with the as-committed JIT. None of
> > the JIT-specific timings reported by EXPLAIN (ANALYZE) add up to anything
> > close to the slow-down I'm seeing. Shouldn't compiling and optimization
> > time show up there?
>
> As my timings showed, I don't see the slowdown you're reporting. Could
> you post a few EXPLAIN ANALYZEs?
>

I don't think you showed any timings where jit_above_cost < query cost <
jit_optimize_above_cost, which is where I saw the slow down. (That is also
where things naturally land for me using default settings)

I've repeated my test case on a default build (./configure --with-llvm
--prefix=....) and default postgresql.conf, using the post-11BETA2 commit
5a71d3e.

I've attached the full test case, and the full output.

Here are the last two executions, with jit=on and jit=off, respectively.
Doing it with TIMING OFF doesn't meaningfully change things, nor does
increasing shared_buffers beyond the default.

QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------
Seq Scan on i200c200 (cost=0.00..233332.28 rows=9999828 width=16) (actual
time=29.317..11966.291 rows=10000000 loops=1)
Planning Time: 0.034 ms
JIT:
Functions: 2
Generation Time: 1.589 ms
Inlining: false
Inlining Time: 0.000 ms
Optimization: false
Optimization Time: 9.002 ms
Emission Time: 19.948 ms
Execution Time: 12375.493 ms
(11 rows)

Time: 12376.281 ms (00:12.376)
SET
Time: 1.955 ms
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------
Seq Scan on i200c200 (cost=0.00..233332.28 rows=9999828 width=16) (actual
time=0.063..3897.302 rows=10000000 loops=1)
Planning Time: 0.037 ms
Execution Time: 4292.400 ms
(3 rows)

Time: 4293.196 ms (00:04.293)

Cheers,

Jeff

Attachment Content-Type Size
wide.sql application/octet-stream 7.6 KB
wide.out application/octet-stream 3.0 KB

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Pavel Stehule 2018-08-08 20:29:29 Re: [HACKERS] proposal: schema variables
Previous Message Andres Freund 2018-07-31 17:35:48 Re: Performance difference in accessing differrent columns in a Postgres Table