Commit Graph

209 Commits

Author SHA1 Message Date
Andrew Kane
8a05debda1 Ran pgindent [skip ci] 2023-07-18 16:08:50 -07:00
Pavel Borisov
3950bc3dc6 Speed up ivfflat build: use float instead of double for dot product (#180)
calculation

On ARM this makes CPU using vector multiply-add instruction (fmadd)
instead of vector multiplication + conversion to double + addition
(fmul + fcvt + fadd) at each vector dimension.

Output of distance functions and calculations that are are done once
per vector pair are left double as this don't make speed difference
and for compatibility.
2023-07-18 12:55:38 -07:00
Andrew Kane
f4c28b1c06 Improved includes 2023-07-17 13:17:48 -07:00
Andrew Kane
d13eb8563e Improved includes 2023-07-17 13:15:10 -07:00
Andrew Kane
f6fc033622 Removed unneeded comments [skip ci] 2023-07-17 13:08:27 -07:00
Andrew Kane
518a35784d Improved variable name [skip ci] 2023-07-17 00:18:14 -07:00
Andrew Kane
c3394ace03 Removed unused variable from IvfflatUpdateList 2023-07-17 00:15:20 -07:00
Andrew Kane
98ba795d83 Improved variable scoping 2023-07-17 00:11:21 -07:00
Andrew Kane
6e8746277e Moved _PG_init 2023-07-16 20:03:34 -07:00
Andrew Kane
ad8df27fbb Changed sorting tuples indexing phase to assigning tuples [skip ci] 2023-07-16 18:46:45 -07:00
Andrew Kane
a0c7f618ff Simplified sum aggregate 2023-07-16 15:30:03 -07:00
Andrew Kane
13ecd271ba Removed unneeded lists check [skip ci] 2023-07-15 23:06:34 -07:00
Andrew Kane
1d47d7218d Improved array_to_vector [skip ci] 2023-07-15 22:56:29 -07:00
Andrew Kane
42007b41ea Improved null check and fixed message [skip ci] 2023-07-15 22:51:40 -07:00
Andrew Kane
890f189495 Removed todo [skip ci] 2023-07-15 22:37:52 -07:00
Andrew Kane
ed1bc3e856 Added sum aggregate 2023-07-15 20:25:30 -07:00
Andrew Kane
08e7209810 Added element-wise multiplication for vectors 2023-07-15 20:19:51 -07:00
Andrew Kane
cd4ac17f9f Added l1_distance function - #166 2023-07-15 20:13:45 -07:00
Andrew Kane
b6a822918f Added support for parallel index builds 2023-07-15 19:52:25 -07:00
Andrew Kane
21d5d7e934 Improved variable scoping 2023-07-15 19:01:40 -07:00
Andrew Kane
ea47342870 Improved variable scoping 2023-07-15 18:53:41 -07:00
Andrew Kane
22e9be6528 Use LockRelationForExtension 2023-07-15 18:25:26 -07:00
Andrew Kane
06c3e68bef Fixed segmentation fault with text representation 2023-06-12 01:09:40 -07:00
Andrew Kane
eff0de6a64 Updated comments [skip ci] 2023-06-11 18:36:41 -07:00
Andrew Kane
3cf7ce6543 Added comment for CheckDim [skip ci] 2023-06-11 13:06:51 -07:00
Andrew Kane
3cb6440744 Simplified PrintVector [skip ci] 2023-06-11 12:54:18 -07:00
Andrew Kane
b6a0d2b12b Check for empty string like float4in [skip ci] 2023-06-11 12:34:24 -07:00
Andrew Kane
f8c85905c3 Use vector_isspace to remove whitespace before strtof 2023-06-11 12:21:27 -07:00
Andrew Kane
0a98a953cd Fixed consecutive delimiters with text representation 2023-06-11 12:10:52 -07:00
Andrew Kane
a577c2df80 Updated format [skip ci] 2023-06-11 12:04:02 -07:00
Andrew Kane
7ee9e86b10 Improved error message for invalid input syntax 2023-06-11 12:00:04 -07:00
Andrew Kane
5fdf5573a0 No need to manually free memory on errors 2023-06-11 09:42:20 -07:00
Andrew Kane
2b939edfee Improved error message for malformed vector literal - #153 2023-06-11 09:24:11 -07:00
Andrew Kane
987026a559 Improved benchmarking for index build [skip ci] 2023-06-10 21:50:31 -07:00
Andrew Kane
6ad276aa54 Added Postgres 16 to CI 2023-06-10 11:35:28 -07:00
Andrew Kane
c03ce7d62a Ensure insert page is always set 2023-06-10 11:29:47 -07:00
Andrew Kane
629fa6f0cd Updated cost estimation code (same logic) 2023-06-10 10:52:29 -07:00
Andrew Kane
a33e72d58e Always change some cost to sequential, and always update total cost 2023-06-10 02:10:53 -07:00
Andrew Kane
49e6a72d36 Remove cost of extra pages when random_page_cost equals seq_page_cost 2023-06-10 01:18:21 -07:00
Andrew Kane
b158a5fa48 Moved get_tablespace_page_costs [skip ci] 2023-06-10 01:07:54 -07:00
Andrew Kane
81cc04df61 Only adjust cost if random_page_cost is higher than seq_page_cost 2023-06-10 01:06:05 -07:00
Andrew Kane
8cb32cac76 Added comment [skip ci] 2023-06-09 21:20:48 -07:00
Andrew Kane
4ce915cf16 Improved cost estimate - #133 2023-06-09 21:11:16 -07:00
Andrew Kane
41b766c24b Use index tuples 2023-06-09 19:55:49 -07:00
Andrew Kane
cbec1b3f48 Improved warnings check 2023-06-09 18:46:26 -07:00
Jonathan S. Katz
b8c7a4f4b6 Fix compiler warnings on Ubuntu (#156)
The compiler was complaining about a missing include due to the
addition of NaN/inf checks in 482a5f8b. Adding the include
silences the warnings.
2023-06-09 18:27:36 -07:00
Jonathan S. Katz
7446cbde8f Update ivfflat cost estimation to choose index for more searches (#133)
Co-authored-by: Andrew Kane <andrew@ankane.org>
2023-06-09 17:53:14 -07:00
Andrew Kane
9f2359894f Added todo [skip ci] 2023-06-09 00:27:01 -07:00
Andrew Kane
3c78130868 Removed extra line [skip ci] 2023-06-08 23:14:34 -07:00
Andrew Kane
768cd5d5d5 Default closest center to 0 2023-06-08 23:07:25 -07:00