Commit Graph

  • c3a7ff5d23 Use heuristic selection for randomized test Dirkjan Ochtman 2021-01-19 10:50:17 +0100
  • e4d66890da Fix heuristic selection candidate sourcing Dirkjan Ochtman 2021-01-19 10:49:56 +0100
  • 08e1f4e085 Fix formatting Dirkjan Ochtman 2021-01-19 10:47:59 +0100
  • c03cec4458 Fix neighbor updates for heuristic searches Dirkjan Ochtman 2021-01-19 10:47:35 +0100
  • 58a7162d0a Simplify selection return value invariants Dirkjan Ochtman 2021-01-19 10:47:01 +0100
  • 9e302d7dbe Fix ef value for insertion Searches Dirkjan Ochtman 2021-01-19 10:45:41 +0100
  • 4c7caaf436 Simplify accessing zero nodes Dirkjan Ochtman 2021-01-18 10:37:34 +0100
  • 1b70dcf743 Fix formatting Dirkjan Ochtman 2021-01-14 18:29:39 +0100
  • 6dc83caabe Improve heuristic neighbor selection Dirkjan Ochtman 2021-01-14 17:01:31 +0100
  • 47f26978f5 Simplify handling of ef parameters Dirkjan Ochtman 2021-01-14 16:55:47 +0100
  • b865f2f287 Remove unused trait and impls Dirkjan Ochtman 2021-01-14 16:53:22 +0100
  • f577dec212 Move neighbor selection into insert() Dirkjan Ochtman 2021-01-13 17:07:24 +0100
  • eb7b9aafb3 Bump M to 32 Dirkjan Ochtman 2021-01-12 16:35:47 +0100
  • 619ea8a561 Make code compile again without serde Dirkjan Ochtman 2021-01-12 16:35:41 +0100
  • e81d838f42 Fix formatting with cargo fmt Dirkjan Ochtman 2021-01-12 14:39:22 +0100
  • 27d5e9b522 Fix serde support for larger ZeroNodes Dirkjan Ochtman 2021-01-12 14:33:31 +0100
  • 04094ce06f Bump M up to 24 Dirkjan Ochtman 2021-01-12 13:37:07 +0100
  • 581b3a17e2 Simplify heuristic selection code Dirkjan Ochtman 2021-01-12 13:31:51 +0100
  • d265ef7c29 Don't use heuristic selection for test Dirkjan Ochtman 2021-01-12 13:31:16 +0100
  • c1e5acf35c Generalize Layer implementations Dirkjan Ochtman 2021-01-11 21:13:17 +0100
  • 7bfca28d85 Add support for selection heuristic Dirkjan Ochtman 2021-01-11 21:05:17 +0100
  • 09dd8d886b Make selection phase explicit in the code Dirkjan Ochtman 2021-01-11 12:38:40 +0100
  • 19e451bac2 Default M to 12 Dirkjan Ochtman 2020-12-17 13:28:57 +0100
  • 0872d04665 Lower recall threshold to prevent spurious test failures Dirkjan Ochtman 2021-01-07 21:43:59 +0100
  • ea11f0c54a Default M to 12 m-12 Dirkjan Ochtman 2020-12-17 13:28:57 +0100
  • df24ddc186 Test recall in randomized test Dirkjan Ochtman 2021-01-07 21:38:53 +0100
  • 6def318423 Stick closer to algorithm 2 from the paper Dirkjan Ochtman 2021-01-07 21:19:50 +0100
  • f01ed4a4a0 Re-order some code Dirkjan Ochtman 2021-01-07 20:58:35 +0100
  • e6d200954e Discard empty layers Dirkjan Ochtman 2021-01-07 20:53:38 +0100
  • e3c0224dc2 Update status with current layer Dirkjan Ochtman 2021-01-07 16:48:06 +0100
  • f61659cca5 Search in appropriate layer during construction Dirkjan Ochtman 2021-01-07 16:00:56 +0100
  • bd9c3f3897 Sort nearest neighbors after pushing batch peers Dirkjan Ochtman 2021-01-07 16:00:41 +0100
  • d7c33e9e8f Keep track of candidate order using BinaryHeap Dirkjan Ochtman 2021-01-07 15:59:41 +0100
  • 459f5e4d65 Tweak style Dirkjan Ochtman 2021-01-07 15:58:46 +0100
  • db1d3128ec Add more extensive randomized test Dirkjan Ochtman 2021-01-07 15:51:59 +0100
  • c4708ac032 Fix bug in discarding potential candidates Dirkjan Ochtman 2021-01-07 14:15:03 +0100
  • df8388a8a1 Add API to set the seed for the RNG Dirkjan Ochtman 2021-01-07 14:14:19 +0100
  • 4b3cb28820 Use more idiomatic way of generating random numbers Dirkjan Ochtman 2021-01-07 11:23:42 +0100
  • a3f07f790f Move integration test into tests dir Dirkjan Ochtman 2021-01-07 11:20:23 +0100
  • d02deec46b Remove obsolete comment Dirkjan Ochtman 2021-01-07 11:16:50 +0100
  • 809fb0d192 Make mL parameter configurable Dirkjan Ochtman 2021-01-07 11:01:19 +0100
  • 3fcd6c3fd4 wip debug Dirkjan Ochtman 2021-01-06 17:24:03 +0100
  • abe24f3160 Upgrade to rand 0.8 Dirkjan Ochtman 2020-12-21 14:54:30 +0100
  • 3feb763d92 Add some documentation for the Builder type Dirkjan Ochtman 2020-12-17 13:23:22 +0100
  • d3f07fcad1 Simplify API some more Dirkjan Ochtman 2020-12-17 13:20:42 +0100
  • d42bf8adc9 Rename num argument to Layer::search() to links Dirkjan Ochtman 2020-12-17 13:04:16 +0100
  • 3241070758 Rename Search::num to ef Dirkjan Ochtman 2020-12-17 13:02:25 +0100
  • 7191b18245 Default ef to 400 and M to 12 params Dirkjan Ochtman 2020-12-17 13:28:57 +0100
  • 638601be9e Add some documentation for the Builder type Dirkjan Ochtman 2020-12-17 13:23:22 +0100
  • 9a7d64a58f Simplify API some more Dirkjan Ochtman 2020-12-17 13:20:42 +0100
  • 57bd05f4e3 Rename num argument to Layer::search() to links Dirkjan Ochtman 2020-12-17 13:04:16 +0100
  • 1af873f967 Rename Search::num to ef Dirkjan Ochtman 2020-12-17 13:02:25 +0100
  • 5ceebde417 Increase batch size x4 Dirkjan Ochtman 2020-12-16 06:47:13 -0800
  • 9d959fce06 Implement parallel index construction Dirkjan Ochtman 2020-12-16 13:37:39 +0100
  • e1f6b666c9 Slightly simplify search output loop variable Dirkjan Ochtman 2020-12-16 12:43:51 +0100
  • ad60d38279 Deduplicate check for layer zero Dirkjan Ochtman 2020-12-16 12:42:55 +0100
  • 1871b61b08 Make Search::reset() more robust to future changes Dirkjan Ochtman 2020-12-16 12:39:28 +0100
  • 098a4e4ef6 Reset furthest value in Search Dirkjan Ochtman 2020-12-16 12:05:02 +0100
  • b20f4efeae Reduce boilerplate in trait implementations Dirkjan Ochtman 2020-12-16 12:03:23 +0100
  • fbfefdba6f Add Hnsw::iter() method Dirkjan Ochtman 2020-12-16 11:46:50 +0100
  • 68b5c72067 Add an inital README Dirkjan Ochtman 2020-12-16 10:17:07 +0100
  • 9523c8ec7f Add an inital README Dirkjan Ochtman 2020-12-16 10:17:07 +0100
  • 5eb43c4cb2 Add CI configuration Dirkjan Ochtman 2020-12-16 10:02:52 +0100
  • 1a3f8483f5 Add configuration for cargo-deny Dirkjan Ochtman 2020-12-16 10:08:39 +0100
  • 0850d82710 Fix clippy suggestion Dirkjan Ochtman 2020-12-16 10:07:16 +0100
  • ccf14362c0 Add CI configuration Dirkjan Ochtman 2020-12-16 10:02:52 +0100
  • e2455fd31a Add configuration for cargo-deny Dirkjan Ochtman 2020-12-16 10:08:39 +0100
  • 7a52b90cc4 Fix clippy suggestion Dirkjan Ochtman 2020-12-16 10:07:16 +0100
  • f8a0a2eaec Update tests to match changed API Dirkjan Ochtman 2020-12-15 21:14:19 +0100
  • 0d0ae6ac16 Update license to MIT or Apache-2.0 Dirkjan Ochtman 2020-12-15 21:05:00 +0100
  • 6d984db261 Update crate name Dirkjan Ochtman 2020-12-15 21:04:15 +0100
  • 71fd8cc15a Implement basic progress tracking Dirkjan Ochtman 2020-12-15 11:51:00 +0100
  • ee46e7cd1a Simplify extraction of builder fields Dirkjan Ochtman 2020-12-15 11:45:40 +0100
  • 07350f201c Moving boring impls down Dirkjan Ochtman 2020-12-15 11:43:42 +0100
  • b7de137d9f Add builder API to facilitate modular construction Dirkjan Ochtman 2020-12-15 11:40:12 +0100
  • 40af226a20 Optimize search algorithm by keeping track of furthest point Dirkjan Ochtman 2020-12-14 16:52:44 +0100
  • 0e0ffe201e Use u32 for PointIds to save memory Dirkjan Ochtman 2020-12-14 16:37:15 +0100
  • db925603d0 Remove Debug bound from P type Dirkjan Ochtman 2020-12-14 16:02:23 +0100
  • 02cfa606c7 Add optional serde support Dirkjan Ochtman 2020-12-14 15:49:36 +0100
  • 6a040672d1 Remove unused NodeId type Dirkjan Ochtman 2020-12-14 15:49:06 +0100
  • aba1c33455 Remove Cargo lockfile Dirkjan Ochtman 2020-12-14 15:39:49 +0100
  • 24bab949b9 Sort dependencies Dirkjan Ochtman 2020-12-14 15:39:16 +0100
  • 2885c4ec3e Rebrand as instant-index Dirkjan Ochtman 2020-12-14 15:38:17 +0100
  • f8d1941d7c Restructure in preparation for parallelism Dirkjan Ochtman 2020-12-14 15:13:10 +0100
  • 98a673fea2 Initial fully serial implementation Dirkjan Ochtman 2020-11-26 16:47:49 +0100