From 8c3b665a379e7b0bd85ae9d58e66e9f8d289eed8 Mon Sep 17 00:00:00 2001 From: Stepan Neretin Date: Tue, 11 Jun 2024 12:40:56 +0700 Subject: [PATCH v42 11/12] Optimize box quad picksplit with float8 array sorting Replace qsort calls with the new sorting template `sort_float8_arr` for better performance in spg_box_quad_picksplit function. --- src/backend/utils/adt/geo_spgist.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/backend/utils/adt/geo_spgist.c b/src/backend/utils/adt/geo_spgist.c index cbd45b3933..b740e89623 100644 --- a/src/backend/utils/adt/geo_spgist.c +++ b/src/backend/utils/adt/geo_spgist.c @@ -472,10 +472,10 @@ spg_box_quad_picksplit(PG_FUNCTION_ARGS) highYs[i] = box->high.y; } - qsort(lowXs, in->nTuples, sizeof(float8), compareDoubles); - qsort(highXs, in->nTuples, sizeof(float8), compareDoubles); - qsort(lowYs, in->nTuples, sizeof(float8), compareDoubles); - qsort(highYs, in->nTuples, sizeof(float8), compareDoubles); + sort_float8_arr(lowXs, in->nTuples); + sort_float8_arr(highXs, in->nTuples); + sort_float8_arr(lowYs, in->nTuples); + sort_float8_arr(highYs, in->nTuples); median = in->nTuples / 2; -- 2.34.1