Commit Graph

215 Commits

Author SHA1 Message Date
Dirkjan Ochtman a027d36190 Fix missing truncation of upper layers 2021-02-17 15:13:47 +01:00
Dirkjan Ochtman 53b608b474 Bump version number to 0.1.2 2021-02-10 20:04:01 +01:00
Dirkjan Ochtman 2f7ddad3a2 Make number of layers and sizes deterministic 2021-02-10 17:28:18 +01:00
Dirkjan Ochtman a99c61fee5 Use helper method to clarify code 2021-02-10 16:57:08 +01:00
Dirkjan Ochtman 1934478cfe Lock new node as soon as possible 2021-02-10 16:57:00 +01:00
Dirkjan Ochtman 6b4ed106f7 Remove too small test case 2021-02-10 16:56:22 +01:00
Dirkjan Ochtman 0b09e8e431 Fix bug in definition of ml default value 2021-02-10 16:31:33 +01:00
Dirkjan Ochtman 23a51390b7 Fix formatting 2021-02-02 16:25:25 +01:00
Dirkjan Ochtman 93d4c8a656 No point in initializing the vector, since it always gets truncated first 2021-02-02 16:24:12 +01:00
Dirkjan Ochtman 9c4c58e753 Bump version to 0.1.1 2021-02-02 16:22:20 +01:00
Dirkjan Ochtman dd1411949f Parallelize collection into upper layers 2021-02-02 16:22:01 +01:00
Dirkjan Ochtman 07367c2022 Update Cargo metadata 2021-02-01 13:24:21 +01:00
Dirkjan Ochtman 7690d09fb8 Bump M up to 32 2021-01-21 14:40:48 +01:00
Dirkjan Ochtman 58bb0f315a Improve parallelization with fine-grained locks 2021-01-21 13:45:39 +01:00
Dirkjan Ochtman f388fd0a46 Use a constant for invalid PointId 2021-01-21 10:40:36 +01:00
Dirkjan Ochtman 96b69e5d4b Simplify selection sizes 2021-01-21 10:20:52 +01:00
Dirkjan Ochtman f627769667 Truncate more often to prevent unnecessary looping 2021-01-21 10:12:19 +01:00
Dirkjan Ochtman 1d5cd4e6ec Move reset of insertion into add_neighbor_heuristic() 2021-01-21 10:12:05 +01:00
Dirkjan Ochtman a0b90dfd66 Add a docstring for select_heuristic() 2021-01-21 10:07:24 +01:00
Dirkjan Ochtman 89df77962e Change argument order for select_heuristic() 2021-01-21 10:07:05 +01:00
Dirkjan Ochtman 640592b411 Move some code from insert() into Search 2021-01-21 09:39:15 +01:00
Dirkjan Ochtman 31f624be5c Reorder Search methods 2021-01-21 09:30:09 +01:00
Dirkjan Ochtman de38b64358 Lower Layer impls to slice impls to fix clippy suggestion 2021-01-20 22:05:22 +01:00
Dirkjan Ochtman 2ab15e0c66 Improve ZeroNode abstraction some more 2021-01-20 18:07:03 +01:00
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