Commit Graph

  • f4b67b078f DRY HNSW distance calculations Andrew Kane 2024-10-09 17:01:49 -07:00
  • c0f6570c4a Debug updates [skip ci] Andrew Kane 2024-10-08 22:58:09 -07:00
  • 1d3d0f46ac Use DEBUG1 for exceeding work_mem [skip ci] Andrew Kane 2024-10-08 22:52:12 -07:00
  • 77688b4309 Improve total cost for cost estimation (#686) Andrew Kane 2024-10-08 12:42:03 -07:00
  • d5f4a0e435 Fixed memory context leak in HnswUpdateNeighborsOnDisk - fixes #692 Andrew Kane 2024-10-08 12:21:26 -07:00
  • 57248ba128 Use separate memory context for updating neighbors, which improves performance around 10% for larger vectors Andrew Kane 2024-09-30 11:15:27 -07:00
  • ff6da4fcea Moved logic to get update neighbor on disk to separate function Andrew Kane 2024-09-30 10:30:01 -07:00
  • a8b4b6675a Moved logic to get update index to separate function Andrew Kane 2024-09-30 10:14:52 -07:00
  • d148b4e61b Fixed insert logic Andrew Kane 2024-09-30 09:59:12 -07:00
  • 658d74e2f6 Use Size for memory [skip ci] Andrew Kane 2024-09-29 23:48:58 -07:00
  • 7ba593c492 Improved SelectNeighbors signature [skip ci] Andrew Kane 2024-09-29 23:03:02 -07:00
  • caabac33b8 Fixed compilation [skip ci] Andrew Kane 2024-09-29 21:33:07 -07:00
  • 525e3b81e1 Improved HnswUpdateConnection parameters [skip ci] Andrew Kane 2024-09-29 19:47:25 -07:00
  • 8eb8cdf0f3 Moved insert-specific code to hnswinsert.c Andrew Kane 2024-09-29 19:44:11 -07:00
  • 4c72f91206 Improved variable name [skip ci] Andrew Kane 2024-09-29 19:26:15 -07:00
  • 4ac86f62a1 Improved variable names [skip ci] Andrew Kane 2024-09-29 19:22:35 -07:00
  • 648dd8af78 Moved LoadElementsForInsert to separate function and removed unused code path Andrew Kane 2024-09-29 19:12:38 -07:00
  • ee43ee9b16 Use HnswLoadNeighborTids for inserts Andrew Kane 2024-09-29 18:52:12 -07:00
  • 5ce367e18b Removed lc from HnswUpdateConnection [skip ci] Andrew Kane 2024-09-29 18:18:42 -07:00
  • f371eb119b Removed lc from SelectNeighbors [skip ci] Andrew Kane 2024-09-29 18:14:28 -07:00
  • 382a25aefb Split loading neighbor TIDs into separate function [skip ci] Andrew Kane 2024-09-29 17:20:54 -07:00
  • 0b6214aad6 Moved HnswLoadNeighbors to hnswinsert.c [skip ci] Andrew Kane 2024-09-29 15:49:01 -07:00
  • 8b9333d468 Merge branch 'master' into hnsw-streaming Andrew Kane 2024-09-29 15:13:51 -07:00
  • f2afd11257 Use sc for search candidates [skip ci] Andrew Kane 2024-09-29 15:09:54 -07:00
  • cae3458329 Updated distance to use double Andrew Kane 2024-09-29 15:06:50 -07:00
  • 87f5e40495 Updated name [skip ci] Andrew Kane 2024-09-29 13:46:05 -07:00
  • 8798c1474c Updated naming [skip ci] Andrew Kane 2024-09-29 13:45:25 -07:00
  • 1b337ad97d Changed option to enum [skip ci] Andrew Kane 2024-09-29 13:39:53 -07:00
  • 0047630baf Updated readme [skip ci] Andrew Kane 2024-09-29 10:37:07 -07:00
  • 71f54cabf4 Use variable for sequential ratio [skip ci] total-cost Andrew Kane 2024-09-28 19:29:53 -07:00
  • dc23752618 Fixed uninitialized variable [skip ci] Andrew Kane 2024-09-28 19:18:52 -07:00
  • d423ac3230 Improved total cost for cost estimation Andrew Kane 2024-09-28 19:10:49 -07:00
  • 8b253359ab Improved code [skip ci] Andrew Kane 2024-09-28 16:33:30 -07:00
  • 8de5f55b0b Fixed assertion [skip ci] Andrew Kane 2024-09-28 16:18:53 -07:00
  • 351db562af Improved code [skip ci] Andrew Kane 2024-09-28 16:07:31 -07:00
  • e1c2d03dba Improved cost estimation [skip ci] Andrew Kane 2024-09-28 16:04:07 -07:00
  • 0f36e15bea Improved cost estimation for IVFFlat [skip ci] ivfflat-cost2 Andrew Kane 2024-09-28 15:43:28 -07:00
  • ba8e29600b Added todo [skip ci] Andrew Kane 2024-09-28 15:24:21 -07:00
  • 158d9340bc Added distance filters to cost tests [skip ci] Andrew Kane 2024-09-28 14:50:23 -07:00
  • 49e05fb5ba Updated readme [skip ci] Andrew Kane 2024-09-28 13:13:10 -07:00
  • 9b42662188 Only adjust cost if scanning less than half of the tuples [skip ci] Andrew Kane 2024-09-28 12:21:20 -07:00
  • 7265927fd6 Updated readme [skip ci] Andrew Kane 2024-09-28 12:07:09 -07:00
  • c01e76f2fa Added strict ordering [skip ci] hnsw-streaming-strict Andrew Kane 2024-09-28 11:31:03 -07:00
  • ab57217f48 Added todo [skip ci] Andrew Kane 2024-09-28 10:07:09 -07:00
  • 5f6e031ccc Updated changelog [skip ci] Andrew Kane 2024-09-28 09:57:05 -07:00
  • 5ee0471ead Updated readme [skip ci] Andrew Kane 2024-09-28 09:23:41 -07:00
  • 67b4ba5a14 Updated readme [skip ci] Andrew Kane 2024-09-27 21:30:53 -07:00
  • 54f8d9733d Updated default Postgres version in Dockerfile [skip ci] Andrew Kane 2024-09-27 16:19:57 -07:00
  • cf419f448b Updated Postgres version for Docker [skip ci] Andrew Kane 2024-09-27 16:19:06 -07:00
  • 8a2eebd6a4 Added note about Postgres 17 on Windows - #669 [skip ci] Andrew Kane 2024-09-27 14:05:36 -07:00
  • daf9c5c743 Updated package versions in readme [skip ci] Andrew Kane 2024-09-27 13:52:11 -07:00
  • 2bca4e406b Restored quarterly package version for FreeBSD in readme [skip ci] Andrew Kane 2024-09-27 13:50:57 -07:00
  • 74020a90da Updated package versions in readme [skip ci] Andrew Kane 2024-09-27 13:49:43 -07:00
  • 44d8d28b40 Added note about postgresql@17 formula [skip ci] Andrew Kane 2024-09-27 13:39:54 -07:00
  • 1a1221f905 Merge branch 'master' into hnsw-streaming Andrew Kane 2024-09-26 08:34:07 -07:00
  • 54fa16e3e3 Added safety check [skip ci] Andrew Kane 2024-09-26 08:32:44 -07:00
  • 40c3e402c7 Removed todo [skip ci] Andrew Kane 2024-09-25 17:29:20 -07:00
  • 058248fdcc Improved cost code [skip ci] Andrew Kane 2024-09-25 17:23:29 -07:00
  • 73c5145b77 Use int for ef [skip ci] Andrew Kane 2024-09-25 16:52:41 -07:00
  • ec4a23fe49 Added cost estimation [skip ci] Andrew Kane 2024-09-25 16:45:04 -07:00
  • 38207f5640 Merge branch 'master' into hnsw-streaming Andrew Kane 2024-09-25 16:09:09 -07:00
  • 46de265a24 Updated changelog [skip ci] Andrew Kane 2024-09-25 16:03:58 -07:00
  • b8c27914d4 Improved test [skip ci] Andrew Kane 2024-09-25 15:58:41 -07:00
  • 2d85af51a8 Added test for IVFFlat costs [skip ci] Andrew Kane 2024-09-25 15:53:34 -07:00
  • e0ad441306 Added test for costs [skip ci] Andrew Kane 2024-09-25 15:49:03 -07:00
  • 5776a4d937 Only adjust for TOAST [skip ci] Andrew Kane 2024-09-25 15:39:56 -07:00
  • 242a12b7d5 Added same cost adjustment to HNSW as IVFFlat since TOAST not included in seq scan cost - #682 [skip ci] Andrew Kane 2024-09-25 15:33:57 -07:00
  • 1370dd6e86 Removed unneeded floor and fixed comment formatting [skip ci] Andrew Kane 2024-09-25 14:13:02 -07:00
  • a100dc67e5 Ran pgindent [skip ci] Andrew Kane 2024-09-25 14:03:51 -07:00
  • 2df9f24aad Update HNSW cost estimatation to utilize search and index info (#682) Jonathan S. Katz 2024-09-25 17:01:33 -04:00
  • 8e979ed377 Do not adjust index selectivity based on probes [skip ci] Andrew Kane 2024-09-25 13:48:24 -07:00
  • 4e35c6abe3 Updated readme [skip ci] Andrew Kane 2024-09-24 23:24:48 -07:00
  • 77b3d1f2a8 Added test for join with attribute filtering [skip ci] Andrew Kane 2024-09-24 23:21:34 -07:00
  • ecd0738728 Improved test [skip ci] Andrew Kane 2024-09-24 23:13:30 -07:00
  • 62ffc3641c Added test for join [skip ci] Andrew Kane 2024-09-24 23:12:27 -07:00
  • 11e4d040d9 Fixed test [skip ci] Andrew Kane 2024-09-24 19:38:06 -07:00
  • e77410a1c7 Improved name [skip ci] minivec-e2m5 Andrew Kane 2024-09-24 11:48:34 -07:00
  • 421116c8cd Improved name [skip ci] minivec Andrew Kane 2024-09-24 11:48:13 -07:00
  • 33506a645a Added comment [skip ci] Andrew Kane 2024-09-24 11:46:44 -07:00
  • 3623c64d82 Added comment [skip ci] Andrew Kane 2024-09-24 11:46:13 -07:00
  • 8e68625f1c Removed unneeded header [skip ci] Andrew Kane 2024-09-24 01:25:48 -07:00
  • 18be1fda24 Fixed lookup table [skip ci] Andrew Kane 2024-09-24 01:25:20 -07:00
  • d1e2dc8cd4 Fixed lookup table [skip ci] Andrew Kane 2024-09-24 01:22:49 -07:00
  • 8d75f33eb4 Fixed code [skip ci] Andrew Kane 2024-09-24 00:41:34 -07:00
  • e10a5c90df Fixed code [skip ci] Andrew Kane 2024-09-24 00:36:23 -07:00
  • 3b0976b725 Fixed rounding [skip ci] Andrew Kane 2024-09-24 00:24:02 -07:00
  • d50125c95f Fixed rounding [skip ci] Andrew Kane 2024-09-24 00:22:13 -07:00
  • d805378471 Fixed NaN [skip ci] Andrew Kane 2024-09-24 00:07:02 -07:00
  • 724bde5020 Improved code [skip ci] Andrew Kane 2024-09-23 22:07:30 -07:00
  • 0dd7ace4de Added e2m5 version Andrew Kane 2024-09-23 22:04:21 -07:00
  • 261ba4a0d9 Added test for IVFFlat [skip ci] Andrew Kane 2024-09-23 18:57:13 -07:00
  • 4293bc439e Exclude zero vectors for cosine distance to be consistent with other types [skip ci] Andrew Kane 2024-09-23 18:55:10 -07:00
  • 044f0c6441 Improved precision for cosine distance [skip ci] Andrew Kane 2024-09-23 18:53:23 -07:00
  • 22efa8ec22 Improved precision for cosine distance [skip ci] Andrew Kane 2024-09-23 18:50:10 -07:00
  • 0a2803130f Added support for IVFFlat [skip ci] Andrew Kane 2024-09-23 18:40:49 -07:00
  • 6105a01881 Added more tests [skip ci] Andrew Kane 2024-09-23 18:33:08 -07:00
  • 9925b92d73 Added more minivec tests [skip ci] Andrew Kane 2024-09-23 18:29:17 -07:00
  • e49bae9dc3 Fixed CI Andrew Kane 2024-09-23 18:24:21 -07:00
  • eea2c44fae Added minivec type Andrew Kane 2024-09-23 18:12:26 -07:00
  • edb806edb9 Added TAP test [skip ci] minivec0 Andrew Kane 2024-09-23 18:09:39 -07:00