Dirkjan Ochtman
|
28f133a9f8
|
Strengthen abstraction for node types
|
2021-01-20 16:53:31 +01:00 |
Dirkjan Ochtman
|
d80a2e3f67
|
Move search() method into Search
|
2021-01-20 16:52:53 +01:00 |
Dirkjan Ochtman
|
5cf83543db
|
Reduce unnecessary work to enforce invariants
|
2021-01-20 16:29:33 +01:00 |
Dirkjan Ochtman
|
ecdce08196
|
Enforce API boundary between Hnsw and Search
|
2021-01-20 16:29:04 +01:00 |
Dirkjan Ochtman
|
f66bad132e
|
Use specialized set implementation for faster tracking of visited points
|
2021-01-20 15:04:30 +01:00 |
Dirkjan Ochtman
|
7b84aa8d45
|
Move support types into a separate module
|
2021-01-20 14:30:46 +01:00 |
Dirkjan Ochtman
|
6250d198ad
|
Add simple benchmark
|
2021-01-20 13:25:06 +01:00 |
Dirkjan Ochtman
|
d885f1b72d
|
Bump M to 12 again
|
2021-01-19 14:15:24 +01:00 |
Dirkjan Ochtman
|
092d6a0176
|
Remove unused import
|
2021-01-19 11:14:34 +01:00 |
Dirkjan Ochtman
|
9fee57c05f
|
Remove more serde-big-array debris
|
2021-01-19 11:10:35 +01:00 |
Dirkjan Ochtman
|
0d0266a296
|
Remove serde-big-array for M = 6
|
2021-01-19 11:08:49 +01:00 |
Dirkjan Ochtman
|
cffb0f8992
|
Apply clippy suggestion
|
2021-01-19 11:06:06 +01:00 |
Dirkjan Ochtman
|
baf7863fd2
|
Tweak recall boundary for heuristic test
|
2021-01-19 11:04:25 +01:00 |
Dirkjan Ochtman
|
0fb389f2af
|
Enable heuristic selection by default
|
2021-01-19 11:04:13 +01:00 |
Dirkjan Ochtman
|
0c0f35dc1a
|
Fix formatting
|
2021-01-19 11:03:42 +01:00 |
Dirkjan Ochtman
|
cdc1242ba9
|
Test both heuristic and simple selection
|
2021-01-19 11:00:29 +01:00 |
Dirkjan Ochtman
|
6db0f151ec
|
Reset M to 12 for now
|
2021-01-19 10:50:41 +01:00 |
Dirkjan Ochtman
|
c3a7ff5d23
|
Use heuristic selection for randomized test
|
2021-01-19 10:50:17 +01:00 |
Dirkjan Ochtman
|
e4d66890da
|
Fix heuristic selection candidate sourcing
|
2021-01-19 10:49:56 +01:00 |
Dirkjan Ochtman
|
08e1f4e085
|
Fix formatting
|
2021-01-19 10:47:59 +01:00 |
Dirkjan Ochtman
|
c03cec4458
|
Fix neighbor updates for heuristic searches
|
2021-01-19 10:47:35 +01:00 |
Dirkjan Ochtman
|
58a7162d0a
|
Simplify selection return value invariants
|
2021-01-19 10:47:01 +01:00 |
Dirkjan Ochtman
|
9e302d7dbe
|
Fix ef value for insertion Searches
|
2021-01-19 10:45:41 +01:00 |
Dirkjan Ochtman
|
4c7caaf436
|
Simplify accessing zero nodes
|
2021-01-18 10:37:34 +01:00 |
Dirkjan Ochtman
|
1b70dcf743
|
Fix formatting
|
2021-01-14 18:29:39 +01:00 |
Dirkjan Ochtman
|
6dc83caabe
|
Improve heuristic neighbor selection
|
2021-01-14 17:01:31 +01:00 |
Dirkjan Ochtman
|
47f26978f5
|
Simplify handling of ef parameters
|
2021-01-14 16:55:47 +01:00 |
Dirkjan Ochtman
|
b865f2f287
|
Remove unused trait and impls
|
2021-01-14 16:53:22 +01:00 |
Dirkjan Ochtman
|
f577dec212
|
Move neighbor selection into insert()
|
2021-01-13 17:07:24 +01:00 |
Dirkjan Ochtman
|
eb7b9aafb3
|
Bump M to 32
|
2021-01-12 16:35:47 +01:00 |
Dirkjan Ochtman
|
619ea8a561
|
Make code compile again without serde
|
2021-01-12 16:35:41 +01:00 |
Dirkjan Ochtman
|
e81d838f42
|
Fix formatting with cargo fmt
|
2021-01-12 14:39:22 +01:00 |
Dirkjan Ochtman
|
27d5e9b522
|
Fix serde support for larger ZeroNodes
|
2021-01-12 14:33:31 +01:00 |
Dirkjan Ochtman
|
04094ce06f
|
Bump M up to 24
|
2021-01-12 13:37:07 +01:00 |
Dirkjan Ochtman
|
581b3a17e2
|
Simplify heuristic selection code
|
2021-01-12 13:31:51 +01:00 |
Dirkjan Ochtman
|
d265ef7c29
|
Don't use heuristic selection for test
|
2021-01-12 13:31:40 +01:00 |
Dirkjan Ochtman
|
c1e5acf35c
|
Generalize Layer implementations
|
2021-01-11 21:13:17 +01:00 |
Dirkjan Ochtman
|
7bfca28d85
|
Add support for selection heuristic
|
2021-01-11 21:05:17 +01:00 |
Dirkjan Ochtman
|
09dd8d886b
|
Make selection phase explicit in the code
|
2021-01-11 12:38:40 +01:00 |
Dirkjan Ochtman
|
19e451bac2
|
Default M to 12
|
2021-01-11 09:33:27 +01:00 |
Dirkjan Ochtman
|
0872d04665
|
Lower recall threshold to prevent spurious test failures
|
2021-01-07 21:44:11 +01:00 |
Dirkjan Ochtman
|
df24ddc186
|
Test recall in randomized test
|
2021-01-07 21:38:53 +01:00 |
Dirkjan Ochtman
|
6def318423
|
Stick closer to algorithm 2 from the paper
|
2021-01-07 21:19:56 +01:00 |
Dirkjan Ochtman
|
f01ed4a4a0
|
Re-order some code
|
2021-01-07 20:58:35 +01:00 |
Dirkjan Ochtman
|
e6d200954e
|
Discard empty layers
|
2021-01-07 20:55:08 +01:00 |
Dirkjan Ochtman
|
e3c0224dc2
|
Update status with current layer
|
2021-01-07 20:53:21 +01:00 |
Dirkjan Ochtman
|
f61659cca5
|
Search in appropriate layer during construction
|
2021-01-07 16:00:56 +01:00 |
Dirkjan Ochtman
|
bd9c3f3897
|
Sort nearest neighbors after pushing batch peers
|
2021-01-07 16:00:41 +01:00 |
Dirkjan Ochtman
|
d7c33e9e8f
|
Keep track of candidate order using BinaryHeap
|
2021-01-07 15:59:41 +01:00 |
Dirkjan Ochtman
|
459f5e4d65
|
Tweak style
|
2021-01-07 15:58:46 +01:00 |