On Tue, Mar 5, 2024 at 9:42 AM David Rowley <dgrowle...@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.