Re: [HACKERS] [PATCH] Generic type subscripting

From: Dmitry Dolgov <9erthalion6(at)gmail(dot)com>
To: Arthur Zakirov <a(dot)zakirov(at)postgrespro(dot)ru>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Oleg Bartunov <obartunov(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, David Steele <david(at)pgmasters(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] [PATCH] Generic type subscripting
Date: 2018-02-22 17:30:32
Message-ID: CA+q6zcV8YCKcMHkUKiiUM3eOsq-ubb=T1D+ki4YbE=BYbt1PxQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On 30 January 2018 at 16:47, Dmitry Dolgov <9erthalion6(at)gmail(dot)com> wrote:
> > On 29 January 2018 at 14:41, Arthur Zakirov <a(dot)zakirov(at)postgrespro(dot)ru>
wrote:
> >
> > I have a few comments.
>
> Thanks for suggestions, I've incorporated all of them in a new version of
the
> patch.

Few more updates. I've attached a new version with some minor changes,
mostly
about moving a subscripting depth check to type related logic. Also I've
made
some performance tests for arrays using pgbench:

pgbench -c 10 -j 2 -T 600 -f test.sql -r

with queries like:

select (ARRAY[1, 2, 3])[0];
select (ARRAY[1, 2, 3, ..., 98, 99, 100])[0];
select (ARRAY[[[[[[1]]]]]])[1][1][1][1][1][1];
select (ARRAY[[[[[[1, 2, 3]]]]]])[1][1][1][1][1:2];

and the difference in average latency was about 2%:

* with the patch

number of transactions actually processed: 349211
latency average = 1.718 ms
tps = 5820.048783 (including connections establishing)
tps = 5820.264433 (excluding connections establishing)

* without the patch

number of transactions actually processed: 356024
latency average = 1.685 ms
tps = 5933.538195 (including connections establishing)
tps = 5934.124599 (excluding connections establishing)

Attachment Content-Type Size
0005-Subscripting-documentation-v8.patch text/x-patch 18.7 KB
0004-Subscripting-for-jsonb-v8.patch text/x-patch 32.9 KB
0003-Subscripting-for-array-v8.patch text/x-patch 13.4 KB
0002-Base-implementation-of-subscripting-mechanism-v8.patch text/x-patch 127.1 KB
0001-Renaming-for-new-subscripting-mechanism-v8.patch text/x-patch 44.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2018-02-22 17:38:14 Re: Online enabling of checksums
Previous Message Thom Brown 2018-02-22 17:29:11 Re: Translations contributions urgently needed