Re: Macro customizable hashtable / bitmapscan & aggregation perf

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Macro customizable hashtable / bitmapscan & aggregation perf
Date: 2016-10-09 23:38:03
Message-ID: 20161009233803.6zjackpbz2v2s4sw@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

Attached is an updated version of the patchset. The main changes are
- address most of Tomas' feedback
- address regression test output changes by adding explicit ORDER BYs,
in a separate commit.
- fix issues around hash tables sized up to PG_UINT32_MAX
- fix a bug in iteration with "concurrent" deletions

> > We didn't really for dynahash (as it basically assumed a fillfactor of 1
> > all the time), not sure if changing it won't also cause issues.
> >
>
> That's a case of glass half-full vs. half-empty, I guess. If we assumed load
> factor 1.0, then I see it as accounting for load factor (while you see it as
> not accounting of it).

Well, that load factor is almost never achieved, because we'd have grown
since... I added a comment about disregarding fill factor and growth
policy to estimate_hashagg_tablesize, which is actually the place where
it'd seemingly make sense to handle it.

Tomas, did you have time to run a benchmark?

I think this is starting to look good.

Regards,

Andres

Attachment Content-Type Size
0001-Add-likely-unlikely-branch-hint-macros.patch text/x-patch 1.3 KB
0002-Make-regression-tests-less-dependent-on-hash-table-o.patch text/x-patch 22.3 KB
0003-Add-a-macro-customizable-hashtable.patch text/x-patch 26.3 KB
0004-Use-more-efficient-hashtable-for-tidbitmap.c-to-spee.patch text/x-patch 11.4 KB
0005-Use-more-efficient-hashtable-for-execGrouping.c-to-s.patch text/x-patch 27.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2016-10-10 00:24:51 Re: pg_upgrade documentation improvement patch
Previous Message David Rowley 2016-10-09 23:26:51 Re: Relids in upper relations