Re: [HACKERS] Small improvement to compactify_tuples

From: Yura Sokolov <funny(dot)falcon(at)gmail(dot)com>
To: Stephen Frost <sfrost(at)snowman(dot)net>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Peter Geoghegan <pg(at)bowt(dot)ie>, Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Claudio Freire <klaussfreire(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Sokolov Yura <funny(dot)falcon(at)postgrespro(dot)ru>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, PostgreSQL-Dev <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] Small improvement to compactify_tuples
Date: 2018-02-25 18:39:46
Message-ID: 9410de56-794b-147f-20f2-d5ef28e98e45@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

23.01.2018 06:34, Stephen Frost пишет:
> Greetings,
>
> * Юрий Соколов (funny(dot)falcon(at)gmail(dot)com) wrote:
>> On Wed, Nov 29, 2017 at 8:00 AM, Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
>>> On Tue, Nov 28, 2017 at 2:41 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
>>>> Maybe it's a stupid question. But would we still want to have this after
>>>> the change? These should be just specializations of the template version
>>>> imo.
>>
>> "generic" version operates on bytes, and it will be a bit hard to combine
>> it with
>> templated version. Not impossible, but it will look ugly.
>
> If that's the case then does it really make sense to make this change..?

I don't think it is really necessary to implement generic version
through templated. It is much better to replace generic version with
templated in places where it matters for performance.

>
>> In attach fixed qsort_template version.
>> And version for compactify_tuples with bucket_sort and templated qsort.
>
> While having the patch is handy, I'm not seeing any performance numbers
> on this version, and I imagine others watching this thread are also
> wondering about things like a test run that just uses the specialized
> qsort_itemIds() without the bucketsort.
>
> Are you planning to post some updated numbers and/or an updated test
> case that hopefully shows best/worst case with this change? Would be
> good to get that on a couple of platforms too, if possible, since we've
> seen that the original benchmarks weren't able to be consistently
> repeated across different platforms. Without someone doing that
> leg-work, this doesn't seem like it'll be moving forward.

Updated numbers are (same benchmark on same notebook, but with new
master, new ubuntu and later patch version) (average among 6 runs):

master - 16135tps
with templated qsort - 16199tps
with bucket sort - 16956tps

Difference is still measurable, but less significant. I don't know why.

Rebased version of first patch (qsorted tamplate) is in atttach.

With regards,
Sokolov Yura.

Attachment Content-Type Size
0001-Header-for-customized-qsort.patch.gz application/gzip 6.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Anthony Communier 2018-02-25 20:05:48 Using JSONB directly from application
Previous Message Pavel Stehule 2018-02-25 17:59:42 Re: VACUUM FULL name is very confusing to some people (or to most non expert people)