v42-0011-Optimize-box-quad-picksplit-with-float8-array-so.patch
text/x-patch
Filename: v42-0011-Optimize-box-quad-picksplit-with-float8-array-so.patch
Type: text/x-patch
Part: 4
Patch
Format: format-patch
Series: patch v42-0011
Subject: Optimize box quad picksplit with float8 array sorting
| File | + | − |
|---|---|---|
| src/backend/utils/adt/geo_spgist.c | 4 | 4 |
From 8c3b665a379e7b0bd85ae9d58e66e9f8d289eed8 Mon Sep 17 00:00:00 2001 From: Stepan Neretin <sncfmgg@gmail.com> 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