Modify local buffer management to request memory for local buffers in blocks

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 34aabc20712723fc8a6a3974b724934ea304eaae
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2006-12-27T22:32:03Z
Releases: 8.1.6
Modify local buffer management to request memory for local buffers in blocks
of increasing size, instead of one at a time.  This reduces the memory
management overhead when num_temp_buffers is large: in the previous coding
we would actually waste 50% of the space used for temp buffers, because aset.c
would round the individual requests up to 16K.  Problem noted while studying
a performance issue reported by Steven Flatt.

Back-patch as far as 8.1 --- older versions used few enough local buffers
that the issue isn't significant for them.

Files

PathChange+/−
src/backend/storage/buffer/localbuf.c modified +51 −6