Improve aset.c's space management in contexts with small maxBlockSize.
The previous coding would allow requests up to half of maxBlockSize to be
treated as "chunks", but when that actually did happen, we'd waste nearly
half of the space in the malloc block containing the chunk, if no smaller
requests came along to fill it. Avoid this scenario by limiting the
maximum size of a chunk to 1/8th maxBlockSize, so that we can waste no more
than 1/8th of the allocated space. This will not change the behavior at
all for the default context size parameters (with large maxBlockSize),
but it will change the behavior when using ALLOCSET_SMALL_MAXSIZE.
In particular, there's no longer a need for spell.c to be overly concerned
about the request size parameters it uses, so remove a rather unhelpful
comment about that.
Merlin Moncure, per an idea of Tom Lane's
src/backend/tsearch/spell.c | 2 +-
src/backend/utils/mmgr/aset.c | 25 +++++++++++++++++--------
2 files changed, 18 insertions(+), 9 deletions(-)
pgsql-committers by date
|Next:||From: Peter Eisentraut||Date: 2011-05-02 16:21:25|
|Subject: pgsql: Small cleanup of spacing in verbatim DocBook elements|
|Previous:||From: pgsql||Date: 2011-05-02 15:17:10|
|Subject: pgsql: Tag refs/tags/REL9_1_BETA1 was created|