mirror of
https://github.com/postgres/postgres.git
synced 2025-12-13 14:22:43 +03:00
Fix misleading comment in tuplesort.c
A comment in tuplesort.c was claiming that the code was defining INITIAL_MEMTUPSIZE so that it *does not* exceed ALLOCSET_SEPARATE_THRESHOLD, but the code actually ensures that we purposefully *do* exceed ALLOCSET_SEPARATE_THRESHOLD for the initial allocation of the tuples array, as per reasons detailed in the commentary of grow_memtuples(). Also, there's not much need to repeat the mention about ALLOCSET_SEPARATE_THRESHOLD in each location where INITIAL_MEMTUPSIZE is used, so remove those comments. Author: ChangAo Chen <cca5507@qq.com> Reviewed-by: Chao Li <li.evan.chao@gmail.com> Reviewed-by: David G. Johnston <david.g.johnston@gmail.com> Discussion: https://postgr.es/m/tencent_6FA14F85D6B5B5291532D6789E07F4765C08%40qq.com
This commit is contained in:
@@ -111,11 +111,9 @@
|
|||||||
#include "utils/tuplesort.h"
|
#include "utils/tuplesort.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initial size of memtuples array. We're trying to select this size so that
|
* Initial size of memtuples array. This must be more than
|
||||||
* array doesn't exceed ALLOCSET_SEPARATE_THRESHOLD and so that the overhead of
|
* ALLOCSET_SEPARATE_THRESHOLD; see comments in grow_memtuples(). Clamp at
|
||||||
* allocation might possibly be lowered. However, we don't consider array sizes
|
* 1024 elements to avoid excessive reallocs.
|
||||||
* less than 1024.
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
#define INITIAL_MEMTUPSIZE Max(1024, \
|
#define INITIAL_MEMTUPSIZE Max(1024, \
|
||||||
ALLOCSET_SEPARATE_THRESHOLD / sizeof(SortTuple) + 1)
|
ALLOCSET_SEPARATE_THRESHOLD / sizeof(SortTuple) + 1)
|
||||||
@@ -692,10 +690,6 @@ tuplesort_begin_common(int workMem, SortCoordinate coordinate, int sortopt)
|
|||||||
state->base.sortcontext = sortcontext;
|
state->base.sortcontext = sortcontext;
|
||||||
state->base.maincontext = maincontext;
|
state->base.maincontext = maincontext;
|
||||||
|
|
||||||
/*
|
|
||||||
* Initial size of array must be more than ALLOCSET_SEPARATE_THRESHOLD;
|
|
||||||
* see comments in grow_memtuples().
|
|
||||||
*/
|
|
||||||
state->memtupsize = INITIAL_MEMTUPSIZE;
|
state->memtupsize = INITIAL_MEMTUPSIZE;
|
||||||
state->memtuples = NULL;
|
state->memtuples = NULL;
|
||||||
|
|
||||||
@@ -784,10 +778,6 @@ tuplesort_begin_batch(Tuplesortstate *state)
|
|||||||
|
|
||||||
state->memtupcount = 0;
|
state->memtupcount = 0;
|
||||||
|
|
||||||
/*
|
|
||||||
* Initial size of array must be more than ALLOCSET_SEPARATE_THRESHOLD;
|
|
||||||
* see comments in grow_memtuples().
|
|
||||||
*/
|
|
||||||
state->growmemtuples = true;
|
state->growmemtuples = true;
|
||||||
state->slabAllocatorUsed = false;
|
state->slabAllocatorUsed = false;
|
||||||
if (state->memtuples != NULL && state->memtupsize != INITIAL_MEMTUPSIZE)
|
if (state->memtuples != NULL && state->memtupsize != INITIAL_MEMTUPSIZE)
|
||||||
|
|||||||
Reference in New Issue
Block a user