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-03-06 17:21:51
Message-ID: CA+q6zcWBM=fdfw_80VpAdYZDDuxrWaD82+iM8wm7=yG0DWQhMA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On 22 February 2018 at 18:30, Dmitry Dolgov <9erthalion6(at)gmail(dot)com> wrote:
>
> 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)
>

One more small update after fd1a421fe6 in attachments.

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2018-03-06 17:25:28 Re: using index or check in ALTER TABLE SET NOT NULL
Previous Message Alvaro Herrera 2018-03-06 17:07:16 Re: Rewrite of pg_dump TAP tests