Andrew Kane
6c347b7f3e
Removed unused functions
2023-12-19 19:47:03 -05:00
Andrew Kane
3e628986a1
Removed metapage logging [skip ci]
2023-12-19 17:23:35 -05:00
Andrew Kane
921427ee03
Replace dynahash hash table in HNSW with simplehash for speed - #378
...
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi >
2023-12-17 11:24:13 -05:00
Japin Li
4549e8aeb1
Fix coredump about HnswFreeElement() ( #357 )
...
The HnswInitElement() allocate an element with not initialize value
filed, which may has garbage that lead HnswFreeElement() free an
invalid pointer.
2023-11-15 16:19:59 -08:00
Andrew Kane
3263b350f5
Updated HnswLoadElementFromTuple to be less vector-specific
2023-11-11 21:14:12 -08:00
Andrew Kane
69a2ce0d43
Use datumIsEqual to compare
2023-11-10 10:46:48 -08:00
Andrew Kane
d078db3d25
Switched HnswElementTuple to generic data and zero full section
2023-11-09 18:28:25 -08:00
Andrew Kane
fbb904ae2f
Use pointer for VARSIZE_ANY
2023-11-09 17:50:28 -08:00
Andrew Kane
3cf6f62900
Switched to datum for HnswElement
2023-11-09 17:35:39 -08:00
Andrew Kane
2a69e22ca4
Switched from VECTOR_SIZE to VARSIZE_ANY where possible (less vector-specific)
2023-11-09 17:16:43 -08:00
Andrew Kane
4b5db94307
Disable closer caching for new elements for now
2023-10-06 14:27:09 -07:00
Andrew Kane
65e70326b8
Updated comment [skip ci]
2023-10-06 14:07:35 -07:00
Andrew Kane
71641ed84e
Updated comment [skip ci]
2023-10-06 13:58:07 -07:00
Andrew Kane
f3dba25036
Added comment [skip ci]
2023-10-06 13:56:25 -07:00
Andrew Kane
5588ba6410
Improved variable name [skip ci]
2023-10-06 13:46:19 -07:00
Andrew Kane
ec9fac5456
Improved closerSet logic
2023-10-06 13:39:55 -07:00
Andrew Kane
8085d3e538
Moved sorting logic into SelectNeighbors
2023-10-06 12:56:15 -07:00
Andrew Kane
cae162ffc6
Ensure order is deterministic for SelectNeighbors closer caching
2023-10-06 12:26:53 -07:00
Andrew Kane
62482e3760
Use e for consistency
2023-10-05 16:15:13 -07:00
Heikki Linnakangas
c81302b835
Improve HNSW index build performance more ( #295 )
...
This takes the approach from commit a713e2acaa further. Once we have
remove a candidate from the "closer" set, we still don't need to
recalculate everything that follows. Any candidates that were in the
closer set before still only need to be compared with any new
candidates that we have added.
2023-10-05 16:04:50 -07:00
Andrew Kane
a713e2acaa
Improved performance of HNSW index builds - closes #292
...
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi >
2023-10-05 13:21:26 -07:00
jeff-davis
b247b688a8
No need to MarkBufferDirty(); GenericXLogFinish() does that. ( #265 )
2023-09-15 13:14:10 -07:00
Andrew Kane
9672446a4c
Updated order [skip ci]
2023-09-12 19:53:12 -07:00
Andrew Kane
334614b7f7
Added HnswFreeNeighbors function [skip ci]
2023-09-12 19:49:31 -07:00
Andrew Kane
bca50a03fa
Use consistent variable name
2023-09-12 19:24:31 -07:00
Andrew Kane
04312f6638
Simplified HNSW vacuum logic
2023-09-03 02:25:19 -07:00
Andrew Kane
d05d6ee83d
Get m from metapage
2023-09-03 01:35:21 -07:00
Andrew Kane
01f58e470a
Revert "Use int64 for wlen"
...
This reverts commit dbef8d1ad1 .
2023-09-02 18:09:10 -07:00
Andrew Kane
dbef8d1ad1
Use int64 for wlen
2023-09-02 17:55:48 -07:00
Andrew Kane
5c005cf57c
Revert "No need to increment wlen when removing"
...
This reverts commit 6b2e215447 .
2023-09-02 17:41:31 -07:00
Andrew Kane
6b2e215447
No need to increment wlen when removing
2023-09-02 15:33:40 -07:00
Andrew Kane
cfaa2ecd7f
Improved HNSW graph repair - #239
2023-08-26 14:06:03 -07:00
Andrew Kane
bb1e5ed98f
Improved code [skip ci]
2023-08-25 21:05:18 -07:00
Andrew Kane
8801832946
Fixed check in SelectNeighbors
2023-08-25 20:46:05 -07:00
Andrew Kane
552c64d492
Improved HNSW code
2023-08-25 20:39:07 -07:00
Andrew Kane
bace0891bd
Updated comments [skip ci]
2023-08-21 22:51:24 -07:00
Andrew Kane
3f3b3ca8e3
Made function static [skip ci]
2023-08-21 03:27:42 -07:00
Andrew Kane
02f4e0ec8b
Revert "Added version to reduce stale reads and writes and prepare for optimistic locking"
...
This reverts commit ef1209eaf4 .
2023-08-21 02:47:27 -07:00
Andrew Kane
90a042e5aa
Wait for selects to complete
2023-08-21 02:24:53 -07:00
Andrew Kane
ef1209eaf4
Added version to reduce stale reads and writes and prepare for optimistic locking
2023-08-20 17:08:20 -07:00
Andrew Kane
687263ccd4
DRY HNSW vacuum code
2023-08-20 14:52:31 -07:00
Andrew Kane
fecb8c06c9
Simplified code
2023-08-18 20:49:00 -07:00
Andrew Kane
c3bafc76e8
Only update entry point on inserts if level is greater
2023-08-15 12:31:06 -07:00
Andrew Kane
6fc7d06313
Improved HNSW vacuuming
2023-08-13 15:53:07 -07:00
Andrew Kane
304e262a41
Fixed initialization
2023-08-13 15:50:05 -07:00
Andrew Kane
23cb79c1dc
Fixed recall for HNSW after vacuuming
2023-08-13 15:37:47 -07:00
Andrew Kane
9b967d592f
Improved concurrent inserts with empty entry point, part 2
2023-08-10 18:31:58 -07:00
Andrew Kane
ed513e62c1
Improved code for skipping element [skip ci]
2023-08-10 15:29:08 -07:00
Andrew Kane
27ccb5fa7a
Improved code [skip ci]
2023-08-10 15:23:26 -07:00
Andrew Kane
a18bea24b8
Improved concurrent inserts with low number of elements
2023-08-10 15:07:28 -07:00