Andrew Kane
c207a2d50e
Reduced lock contention with parallel HNSW index builds
2024-03-11 19:50:48 -07:00
Andrew Kane
569fd36396
Improved performance of parallel HNSW index builds
2024-03-11 18:32:39 -07:00
Andrew Kane
62350b1589
Added note about IVFFlat results [skip ci]
2024-03-06 00:29:55 -08:00
Andrew Kane
dd57309281
Added section about HNSW results - #480 [skip ci]
2024-03-06 00:27:50 -08:00
Andrew Kane
c6ddf62a29
Version bump to 0.6.1 [skip ci]
v0.6.1
2024-03-04 10:27:59 -08:00
Andrew Kane
801be04d8b
Updated CI [skip ci]
2024-03-02 17:06:11 -08:00
Andrew Kane
587e9ba97c
Added link to bulk loading example [skip ci]
2024-02-29 21:25:11 -08:00
Andrew Kane
d57047a935
Moved COPY example and added FORMAT [skip ci]
2024-02-29 20:35:01 -08:00
oneturkmen
f1db1f17e3
Update README.md ( #472 )
2024-02-29 20:27:53 -08:00
Andrew Kane
2f48c0fac4
Updated changelog [skip ci]
2024-02-29 18:10:19 -08:00
Andrew Kane
84a8aa8176
Added note about HNSW build time [skip ci]
2024-02-29 16:25:58 -08:00
Andrew Kane
f64ebbef50
Added OPTFLAGS to readme [skip ci]
2024-02-29 16:15:22 -08:00
Andrew Kane
ac8156509b
Updated vector operators for <= and >=
2024-02-29 15:43:29 -08:00
Andrew Kane
82bf69b479
Fixed vector subtraction being marked as commutative - fixes #475
2024-02-29 14:36:18 -08:00
Andrew Kane
4be2f57916
Updated license year [skip ci]
2024-02-29 13:44:58 -08:00
Andrew Kane
91e3d2905f
Fixed sort function for Postgres 12
2024-02-28 16:26:41 -08:00
Andrew Kane
fe2406564f
Replaced pairing heap with array in SelectNeighbors - closes #447
...
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi >
2024-02-28 15:47:26 -08:00
Andrew Kane
fa52511eaa
Fixed closer caching for Postgres 12
2024-02-28 15:44:38 -08:00
Andrew Kane
447ef4d27a
Specify Postgres version for Valgrind [skip ci]
2024-02-28 14:16:48 -08:00
Andrew Kane
b36cd22ccc
Enable assertions on CI
2024-02-28 14:15:34 -08:00
Andrew Kane
b447ae4989
Avoid base address for relptr for Postgres < 14.5
2024-02-28 14:10:14 -08:00
Andrew Kane
efed873a3e
Revert "Replaced pairing heap with array in SelectNeighbors - closes #447 "
...
This reverts commit 14b278dec9 .
2024-02-28 11:33:14 -08:00
Andrew Kane
14b278dec9
Replaced pairing heap with array in SelectNeighbors - closes #447
...
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi >
2024-02-28 11:25:12 -08:00
Andrew Kane
133a728e48
Updated changelog [skip ci]
2024-02-20 16:38:05 -08:00
Andrew Kane
ca10cbaa7d
Revert "Remove offsethash"
...
This reverts commit 1cbd204f52 .
2024-02-20 16:07:32 -08:00
Andrew Kane
eb29019a14
Revert "Eliminate a few HnswPtrAccess invocations"
...
This reverts commit 334c386a45 .
2024-02-20 16:07:21 -08:00
Heikki Linnakangas
334c386a45
Eliminate a few HnswPtrAccess invocations
...
HnswPtrAccess() is pretty cheap, but it stills seems worthwhile to
avoid repeated calls in the hot paths when it can be easily avoided.
2024-02-19 14:13:18 +02:00
Heikki Linnakangas
1cbd204f52
Remove offsethash
...
The original motivation was to eliminate the superfluous HnswPtrAccess
call from AddToVisited. The caller has to call HnswPtrAccess() anyway,
so it makes sense to pass the HnswElement rather than HnswElementPtr
to AddToVisited(). But then I realized that we can use the
pointer-variant even with shared memory, because the visited-hash is
backend-private, and the addresses where the elements are mapped to in
shared memory are stable within the backend.
2024-02-19 14:12:26 +02:00
Andrew Kane
5ba62fca84
Fixed crash with shared_preload_libraries - fixes #460
2024-02-14 17:13:30 -08:00
Andrew Kane
22cb2a3fe7
Simplified Docker tasks [skip ci]
2024-02-07 12:03:33 -08:00
Andrew Kane
72b144906a
Added Valgrind to CI
2024-02-07 09:43:01 -08:00
Andrew Kane
a618c1bc78
Updated port name [skip ci]
2024-02-06 12:43:20 -08:00
Andrew Kane
f43cd0ed98
Improved type [skip ci]
2024-02-05 19:38:52 -08:00
Andrew Kane
51df640961
Added instructions for pkg [skip ci]
2024-02-05 17:01:36 -08:00
Andrew Kane
2716a223a6
Fixed error with ANALYZE and vectors with different dimensions - fixes #451
2024-02-02 10:47:48 -08:00
Andrew Kane
3697043898
Added note about vacuuming - closes #450 [skip ci]
2024-01-31 14:35:27 -08:00
Andrew Kane
c22740962c
Added note for Docker [skip ci]
2024-01-29 15:33:29 -08:00
Andrew Kane
a55ecf3281
Updated changelog [skip ci]
2024-01-29 11:20:33 -08:00
Andrew Kane
fecdd5794e
Updated readme [skip ci]
2024-01-29 10:57:54 -08:00
Andrew Kane
281d4fcf60
Version bump to 0.6.0 [skip ci]
v0.6.0
2024-01-29 10:54:44 -08:00
Andrew Kane
5b43aaad5a
Removed unneeded item ids
2024-01-28 23:14:52 -08:00
Andrew Kane
797ce8034c
Ran pgindent [skip ci]
2024-01-28 23:03:48 -08:00
Andrew Kane
cad9e22d9a
Updated variable name to be consistent with CreateGraphPages [skip ci]
2024-01-28 23:02:13 -08:00
Andrew Kane
a7d43904f7
Zero memory for each element
2024-01-28 23:00:39 -08:00
Andrew Kane
ded649891b
DRY HNSW tuple alloc size [skip ci]
2024-01-28 22:58:38 -08:00
Heikki Linnakangas
2d092016fc
Remove unnecessary PageIndexTupleOverwrite calls that caused UB ( #438 )
...
These places called PageIndexTupleOverwrite(), with the new tuple
pointing directly to the original page. The PageIndexTupleOverwrite()
call is unnecessary in these cases, as we have already modified the
tuple on the page directly. Moreover, PageIndexTupleOverWrite() will
call memcpy with same src and dst arguments, which is undefined
behavior.
It's OK to modify the pages on disk directly, and we don't need
critical sections, because we either use the generic xlog functions
which create a temporary copy of the page, or we are building a new
index so if we crash the whole index is invisible and will be dropped
anyway.
2024-01-28 22:52:56 -08:00
Andrew Kane
86b31fdf96
Revert "Update neighbor tuples in-place for HNSW index build"
...
This reverts commit 270dd8189a .
2024-01-28 22:18:22 -08:00
Andrew Kane
5023269f0d
Updated changelog [skip ci]
2024-01-28 21:42:30 -08:00
Andrew Kane
642ee1f423
Improved function names
2024-01-28 21:00:12 -08:00
Andrew Kane
270dd8189a
Update neighbor tuples in-place for HNSW index build
2024-01-28 20:53:56 -08:00