Re: plans for PostgreSQL 12

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Simon Riggs <simon(at)2ndquadrant(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: plans for PostgreSQL 12
Date: 2018-06-05 14:30:17
Message-ID: CAFj8pRAwg7df5wJ-JF2FVhUqgzZn89GcTEguC8G3725AEHzzag@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2018-06-05 15:00 GMT+02:00 Andres Freund <andres(at)anarazel(dot)de>:

> Hi,
>
> On 2018-06-05 06:32:31 +0200, Pavel Stehule wrote:
> > ./configure --with-libxml --enable-tap-tests --enable-debug --with-perl
> > CFLAGS="-ggdb -Og -g3 -fno-omit-frame-pointer"
> >
> > [pavel(at)nemesis postgresql]$ gcc --version
> > gcc (GCC) 8.1.1 20180502 (Red Hat 8.1.1-1)
> >
> > I executed simple script
> >
> > do $$ declare i bigint = 1; s bigint = 0; begin while i <= 100000000
> loop
> > s := s + i; i := i + 1; end loop; raise notice '%', s; end $$;
> >
> > 7,68% postmaster postgres [.]
> > GetSnapshotData ▒
> > 7,53% postmaster plpgsql.so [.]
> > exec_eval_simple_expr ▒
> > 6,49% postmaster postgres [.]
>
> It seems to me the right fix here isn't a new class of functions, but
> rather support for delaying the computation of the snapshot to the point
> it's needed. That'll be far more generically applicable and doesn't
> require user interaction.
>

good idea. Can be quick fix.

>
>
> > ExecInterpExpr ▒
> > 4,13% postmaster postgres [.]
>
> So we're going to need to optimize this further as well, I've a pending
> patch for that, luckily ;)
>

nice :)

> > LWLockRelease ▒
> > 4,12% postmaster postgres [.]
>
> That's also GetSnapshotData()...
>

there are about 10% locking, unlocking plan cache still.

Regards

Pavel

> Greetings,
>
> Andres Freund
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2018-06-05 14:31:52 automating perl compile time checking
Previous Message Arthur Zakirov 2018-06-05 14:29:42 Re: adding tab completions