v42-0010-Implement-Sorting-Template-for-float8-Arrays.patch
text/x-patch
Filename: v42-0010-Implement-Sorting-Template-for-float8-Arrays.patch
Type: text/x-patch
Part: 2
Patch
Format: format-patch
Series: patch v42-0010
Subject: Implement Sorting Template for float8 Arrays
| File | + | − |
|---|---|---|
| src/backend/utils/adt/geo_spgist.c | 11 | 0 |
From b47eeaaef16377bb55ba88ef78d05655703ab658 Mon Sep 17 00:00:00 2001
From: Stepan Neretin <sncfmgg@gmail.com>
Date: Tue, 11 Jun 2024 12:39:03 +0700
Subject: [PATCH v42 10/12] Implement Sorting Template for float8 Arrays
Introduce a sorting template for float8 arrays in geo_spgist.c to boost performance.
---
src/backend/utils/adt/geo_spgist.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/backend/utils/adt/geo_spgist.c b/src/backend/utils/adt/geo_spgist.c
index 51378dca5b..cbd45b3933 100644
--- a/src/backend/utils/adt/geo_spgist.c
+++ b/src/backend/utils/adt/geo_spgist.c
@@ -100,6 +100,17 @@ compareDoubles(const void *a, const void *b)
return (x > y) ? 1 : -1;
}
+ /*
+ * Instantiating a Sorting Template for float8 Arrays
+ * enhancing speed performance.
+ */
+#define ST_SORT sort_float8_arr
+#define ST_ELEMENT_TYPE float8
+#define ST_COMPARE(a, b) compareDoubles(a, b)
+#define ST_SCOPE static
+#define ST_DEFINE
+#include <lib/sort_template.h>
+
typedef struct
{
float8 low;
--
2.34.1