Re: Sort performance cliff with small work_mem - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Sort performance cliff with small work_mem
Date
Msg-id 29063.1525279295@sss.pgh.pa.us
Whole thread Raw
In response to Re: Sort performance cliff with small work_mem  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Sort performance cliff with small work_mem  (Heikki Linnakangas <hlinnaka@iki.fi>)
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, May 2, 2018 at 11:38 AM, Heikki Linnakangas <hlinnaka@iki.fi> wrote:
>> To fix, I propose that we change the above so that we always subtract
>> tapeSpace, but if there is less than e.g. 32 kB of memory left after that
>> (including, if it went below 0), then we bump availMem back up to 32 kB. So
>> we'd always reserve 32 kB to hold the tuples, even if that means that we
>> exceed 'work_mem' slightly.

> Sounds very reasonable.

Agreed.  I think that was my code to start with, and the issue certainly
didn't occur to me at the time.

I don't like the idea of using hardwired "32kB" though; some multiple
of TAPE_BUFFER_OVERHEAD seems more plausible.  Perhaps MINORDER times
TAPE_BUFFER_OVERHEAD would be good?

            regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Is there a memory leak in commit 8561e48?
Next
From: ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Date:
Subject: Re: Transform for pl/perl