Jon Daniel
fe697e8788
vectorize: optimize VectorSumCenter and HalfvecSumCenter ( #860 )
...
* vectorize: optimize VectorSumCenter and HalfvecSumCenter
The functions VectorSumCenter and HalfvecSumCenter were not being
vectorized by the compiler. A few slight changes will allow these
optimizations to take place and get a performance boost by utilizing
SIMD instructions.
This optimization helps improve performance of vector operations in IVF
index building and updating.
* Removing const, commenting that it is only vectoirzed on ARM
2025-06-18 16:09:43 -07:00
Andrew Kane
2fe560dc58
Fixed extra-semi warnings [skip ci]
2025-01-18 13:08:11 -08:00
Andrew Kane
61870a0244
Fixed compilation warning with MSVC and Postgres 16 - fixes #598
...
Co-authored-by: Xing Guo <higuoxing@gmail.com >
2024-06-16 12:09:01 -07:00
Andrew Kane
9e91af5989
Added checks for invalid indexes - #591
2024-06-10 21:20:54 -07:00
Andrew Kane
ebc76114ad
Fixed item size [skip ci]
2024-04-25 14:03:42 -07:00
Andrew Kane
5dec500879
Reduced support functions for IVFFlat - #527
2024-04-25 13:56:20 -07:00
Andrew Kane
ec640f3b57
Switched to static const for IVFFlat type info
2024-04-25 12:30:49 -07:00
Andrew Kane
96fdf63787
Improved function name [skip ci]
2024-04-25 12:05:15 -07:00
Andrew Kane
e9c3c42e1c
Reduced support functions for ivfflat - #527
2024-04-25 11:49:48 -07:00
Andrew Kane
8f00d679d6
Removed type-specific code from IVFFlat - #527
2024-04-24 22:19:53 -07:00
Andrew Kane
8b6eab25a3
Moved IvfflatGetType [skip ci]
2024-04-24 15:34:10 -07:00
Andrew Kane
69c3e719f7
Added support functions for max dimensions for ivfflat
2024-04-24 15:27:10 -07:00
Andrew Kane
7ac0ac5a7f
Renamed functions [skip ci]
2024-04-24 15:00:36 -07:00
Andrew Kane
0da6213a60
Moved type lookup to support functions - #527
2024-04-23 13:02:47 -07:00
Andrew Kane
1994fd003a
Removed unneeded headers [skip ci]
2024-04-22 19:10:50 -07:00
Andrew Kane
bd62561a19
Added support function for l2_normalize to ivfflat
2024-04-22 19:06:06 -07:00
Andrew Kane
3df5655b30
Removed unneeded headers [skip ci]
2024-04-19 18:09:38 -07:00
Andrew Kane
576a37e975
Ensure items are always aligned
2024-04-17 00:17:40 -07:00
Andrew Kane
04af15c9d6
Added support for bit to IVFFlat
2024-04-16 17:12:27 -07:00
Andrew Kane
10dacfd991
Updated indexes to use l2_normalize functions
2024-04-15 13:56:50 -07:00
Andrew Kane
f64abe3aae
Fixed performance of halfvec
2024-04-12 11:50:34 -07:00
Andrew Kane
8d9400bae3
Added support for halfvec to IVFFlat
2024-04-11 19:56:39 -07:00
Andrew Kane
17c2f9c0b6
Removed more vector-specific code from IVFFlat
2024-04-11 13:59:20 -07:00
Andrew Kane
4ff36af67e
Added itemsize to VectorArray [skip ci]
2024-04-11 13:47:36 -07:00
Andrew Kane
e1647473c9
Updated IvfflatGetType [skip ci]
2024-04-11 09:25:07 -07:00
Andrew Kane
35d0fe88b9
Added IvfflatType [skip ci]
2024-04-03 16:40:27 -07:00
Andrew Kane
ba18942fcf
Removed normvec from IVFFlat for simplicity (no difference in performance)
2024-03-27 16:41:17 -07:00
Heikki Linnakangas
c8be3a369b
Include generic_xlog.h directly in the .c files where it's needed
...
There are no references to anything that's in generic_xlog.h in the
header files.
2024-01-23 13:04:03 +02:00
jeff-davis
b247b688a8
No need to MarkBufferDirty(); GenericXLogFinish() does that. ( #265 )
2023-09-15 13:14:10 -07:00
Andrew Kane
bca50a03fa
Use consistent variable name
2023-09-12 19:24:31 -07:00
Andrew Kane
b1f9519689
Get info from metapage to determine cost
2023-09-03 12:31:01 -07:00
Andrew Kane
c3394ace03
Removed unused variable from IvfflatUpdateList
2023-07-17 00:15:20 -07:00
Andrew Kane
ea47342870
Improved variable scoping
2023-07-15 18:53:41 -07:00
Andrew Kane
00b767b107
Use DatumGetVector
2022-12-23 12:33:55 -08:00
Andrew Kane
9c9489e888
Removed nested FLEXIBLE_ARRAY_MEMBER for Windows
2022-12-07 19:53:48 -08:00
Andrew Kane
d376011087
Added VectorArrayFree
2022-12-07 19:45:44 -08:00
Andrew Kane
ccec96ba54
Fixed invalid memory alloc request size error - fixes #43
2022-11-17 14:12:49 -08:00
Andrew Kane
0a68b040fb
DRY code
2022-07-31 21:56:44 -07:00
Andrew Kane
6866939090
Fixed indentation [skip ci]
2022-07-31 21:21:06 -07:00
Andrew Kane
ba2fb6ad8c
Fixed order in IvfflatAppendPage
2022-07-31 21:03:57 -07:00
Andrew Kane
f4eaa3de1f
Fixed issue with index not reusing space
2022-02-06 11:23:10 -08:00
Andrew Kane
fc1de9806a
Added tuples_done and tuples_total
2022-01-29 23:15:46 -08:00
Andrew Kane
9ec174137f
Added build phase progress for Postgres 12+
2022-01-29 19:19:16 -08:00
Andrew Kane
a3d946f3bf
Added src directory
2021-04-20 14:43:04 -07:00