"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> Perhaps we should just remove lines 934-982 of aset.c, and always handle
> small-chunk reallocs with the "brute force" case. Can anyone see a way
> to salvage something from the "realloc-in-place" idea?
>
> One thought that comes to mind is to try to make AllocSetFree recognize
> when it's pfree'ing the last chunk in a memory block, and to handle that
> by decrementing the freeptr instead of putting the chunk into any
> freelist.
We could also only do the realloc-in-place only if there isn't a 4k chunk in
the 4k freelist. I'm imagining that usually there wouldn't be.
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com