From c990fadf0f173e6378a69230705f0a489e3c78cf Mon Sep 17 00:00:00 2001 From: yuejiaointel Date: Thu, 17 Sep 2026 09:14:55 -0700 Subject: [PATCH] Change default of search_buffer_visited_set_ from false to true #364 fixed the bug where this flag was silently dropped on the dynamic index's batch search path. With that fixed, regression testing (48 dataset/mode/metric/variant combinations, k=100, recall 0.90-0.95) showed a consistent 1.2x-1.4x QPS gain with no recall cost and no regressions. Flipping the default makes this available without users needing to know the flag exists. Not verified outside the tested range (very low k, or recall well below 0.90) -- set explicitly to false if a workload falls outside the high-recall/high-neighbor regime and shows a regression. --- include/svs/index/vamana/search_params.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/svs/index/vamana/search_params.h b/include/svs/index/vamana/search_params.h index ca01badea..2dae4c92c 100644 --- a/include/svs/index/vamana/search_params.h +++ b/include/svs/index/vamana/search_params.h @@ -38,8 +38,10 @@ struct VamanaSearchParameters { /// /// The visited set tracks whether candidates the distance between a query and a /// candidate has already been computed. Enabling this feature generally improves - /// performance in the high-recall or high-neighbor regime. - bool search_buffer_visited_set_ = false; + /// performance in the high-recall or high-neighbor regime. Defaults to `true`: + /// regression testing (48 configs, k=100, recall 0.90-0.95) showed a consistent + /// 1.2x-1.4x QPS gain with no recall cost and no regressions. + bool search_buffer_visited_set_ = true; /// @brief The number of iterations ahead to prefetch candidates. size_t prefetch_lookahead_ = 4;