Re: Add bump memory context type and use it for tuplesorts - Mailing list pgsql-hackers

From John Naylor
Subject Re: Add bump memory context type and use it for tuplesorts
Date
Msg-id CANWCAZYDNSs+5oo-R9BsjFaV2fGZMC4hxfzY67r1Vbo-biOZ7Q@mail.gmail.com
Whole thread Raw
In response to Re: Add bump memory context type and use it for tuplesorts  (David Rowley <dgrowleyml@gmail.com>)
Responses Re: Add bump memory context type and use it for tuplesorts
Re: Add bump memory context type and use it for tuplesorts
List pgsql-hackers
On Tue, Mar 5, 2024 at 9:42 AM David Rowley <dgrowleyml@gmail.com> wrote:
> performance against the recently optimised aset, generation and slab
> contexts.  The attached graph shows the time it took in seconds to
> allocate 1GB of memory performing a context reset after 1MB. The
> function I ran the test on is in the attached
> pg_allocate_memory_test.patch.txt file.
>
> The query I ran was:
>
> select chksz,mtype,pg_allocate_memory_test_reset(chksz,
> 1024*1024,1024*1024*1024, mtype) from (values(8),(16),(32),(64))
> sizes(chksz),(values('aset'),('generation'),('slab'),('bump'))
> cxt(mtype) order by mtype,chksz;

I ran the test function, but using 256kB and 3MB for the reset
frequency, and with 8,16,24,32 byte sizes (patched against a commit
after the recent hot/cold path separation). Images attached. I also
get a decent speedup with the bump context, but not quite as dramatic
as on your machine. It's worth noting that slab is the slowest for me.
This is an Intel i7-10750H.

Attachment

pgsql-hackers by date:

Previous
From: Bertrand Drouvot
Date:
Subject: Re: Statistics Import and Export
Next
From: jian he
Date:
Subject: Re: remaining sql/json patches