Re: Proposal : Use bump memory context for temp buffers

Daniil Davydov <3danissimo@gmail.com>

From: Daniil Davydov <3danissimo@gmail.com>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-16T14:15:45Z
Lists: pgsql-hackers
Hi,

On Tue, Dec 16, 2025 at 8:51 PM Heikki Linnakangas <hlinnaka@iki.fi> wrote:
>
> On 16/12/2025 15:05, Daniil Davydov wrote:
> > I think that it will be useful for temp buffers :
> > 1) We allocate them lazily and never try to free them.
> > 2) Some users are very active in working with temporary tables, and as
> > a result,
> > they set large values for the "temp_buffers" parameter (several gigabytes).
>
> It makes no difference. The bump memory context is useful if you perform
> a lot of small allocations, because it skips the overhead of the chunk
> headers. In LocalBufferContext, we only ever make one allocation.
>

Thanks for the explanation!

Actually, we allocate temp buffers gradually by memory chunks with
increasing size. So if temp buffers are pretty big, we must to do about 20
allocations.

I 100% agree that the amount of saved memory will be very-very low
compared to the size of the temp buffers. When I wrote "perfectly fit for bump
memory context" I meant design rather than the performance increasing.

--
Best regards,
Daniil Davydov