Skip to content

Optimize distance calculations by removing hot path overhead - #391

Open
deven96 wants to merge 1 commit into
mainfrom
feature/adaptive-parallelism
Open

Optimize distance calculations by removing hot path overhead#391
deven96 wants to merge 1 commit into
mainfrom
feature/adaptive-parallelism

Conversation

@deven96

@deven96 deven96 commented Aug 20, 2026

Copy link
Copy Markdown
Owner

No description provided.

@deven96
deven96 requested a review from Iamdavidonuh August 20, 2026 03:02
@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown

Test Results

125 tests   125 ✅  5m 27s ⏱️
 29 suites    0 💤
  3 files      0 ❌

Results for commit 31468f2.

♻️ This comment has been updated with latest results.

@github-actions

Copy link
Copy Markdown

Benchmark Results

group                                                        main                                   pr
-----                                                        ----                                   --
predicate_query_with_index/size_100                          1.02      3.4±0.00µs        ? ?/sec    1.00      3.3±0.01µs        ? ?/sec
predicate_query_with_index/size_1000                         1.03     32.7±0.03µs        ? ?/sec    1.00     31.8±0.02µs        ? ?/sec
predicate_query_with_index/size_10000                        1.01    322.6±1.03µs        ? ?/sec    1.00    319.6±0.67µs        ? ?/sec
predicate_query_with_index/size_100000                       1.01      5.2±0.06ms        ? ?/sec    1.00      5.2±0.03ms        ? ?/sec
predicate_query_without_index/size_100                       1.01      6.6±0.01µs        ? ?/sec    1.00      6.5±0.01µs        ? ?/sec
predicate_query_without_index/size_1000                      1.01     60.9±0.04µs        ? ?/sec    1.00     60.2±0.16µs        ? ?/sec
predicate_query_without_index/size_10000                     1.00   1083.4±3.77µs        ? ?/sec    1.00   1085.6±2.71µs        ? ?/sec
predicate_query_without_index/size_100000                    1.01     29.9±0.31ms        ? ?/sec    1.00     29.7±0.22ms        ? ?/sec
store_batch_insertion_without_predicates/size_100            1.00    234.9±2.44µs        ? ?/sec    1.00    235.5±2.06µs        ? ?/sec
store_batch_insertion_without_predicates/size_1000           1.01  1476.3±12.52µs        ? ?/sec    1.00  1466.8±15.85µs        ? ?/sec
store_batch_insertion_without_predicates/size_10000          1.00     14.7±0.11ms        ? ?/sec    1.00     14.7±0.11ms        ? ?/sec
store_batch_insertion_without_predicates/size_100000         1.00    152.4±5.21ms        ? ?/sec    1.01    153.2±6.80ms        ? ?/sec
store_retrieval_linear_cosine_similarity/size_100            1.00     20.9±0.02µs        ? ?/sec    1.03     21.5±0.03µs        ? ?/sec
store_retrieval_linear_cosine_similarity/size_1000           1.00    217.2±1.66µs        ? ?/sec    1.00    217.5±2.17µs        ? ?/sec
store_retrieval_linear_cosine_similarity/size_10000          1.00  1827.4±15.55µs        ? ?/sec    2.22      4.1±0.04ms        ? ?/sec
store_retrieval_linear_cosine_similarity/size_100000         1.00     24.8±0.10ms        ? ?/sec    1.00     24.8±0.08ms        ? ?/sec
store_retrieval_linear_dot_product/size_100                  1.00     18.7±0.01µs        ? ?/sec    1.05     19.7±0.01µs        ? ?/sec
store_retrieval_linear_dot_product/size_1000                 1.00    161.9±0.32µs        ? ?/sec    1.12    181.0±0.64µs        ? ?/sec
store_retrieval_linear_dot_product/size_10000                1.00  1619.5±17.39µs        ? ?/sec    1.83      3.0±0.01ms        ? ?/sec
store_retrieval_linear_dot_product/size_100000               1.08     23.1±0.19ms        ? ?/sec    1.00     21.4±0.07ms        ? ?/sec
store_retrieval_linear_euclidean_distance/size_100           1.00     19.6±0.03µs        ? ?/sec    1.01     19.8±0.01µs        ? ?/sec
store_retrieval_linear_euclidean_distance/size_1000          1.00    185.3±0.45µs        ? ?/sec    1.07    197.5±0.17µs        ? ?/sec
store_retrieval_linear_euclidean_distance/size_10000         1.00  1684.1±13.66µs        ? ?/sec    2.00      3.4±0.03ms        ? ?/sec
store_retrieval_linear_euclidean_distance/size_100000        1.00     24.3±0.15ms        ? ?/sec    1.00     24.2±0.18ms        ? ?/sec
store_retrieval_no_condition/size_100                        1.00     21.1±0.02µs        ? ?/sec    1.02     21.5±0.01µs        ? ?/sec
store_retrieval_no_condition/size_1000                       1.00    215.5±0.20µs        ? ?/sec    1.02    219.9±0.18µs        ? ?/sec
store_retrieval_no_condition/size_10000                      1.00   1807.9±6.88µs        ? ?/sec    2.19      4.0±0.03ms        ? ?/sec
store_retrieval_no_condition/size_100000                     1.00     25.0±0.26ms        ? ?/sec    1.00     25.0±0.08ms        ? ?/sec
store_retrieval_non_linear_hnsw/size_100                     1.00    182.5±0.22µs        ? ?/sec    1.00    182.2±0.28µs        ? ?/sec
store_retrieval_non_linear_hnsw/size_1000                    1.00    375.0±0.60µs        ? ?/sec    1.01    379.8±0.55µs        ? ?/sec
store_retrieval_non_linear_hnsw/size_10000                   1.00    521.3±1.42µs        ? ?/sec    1.07    560.1±0.27µs        ? ?/sec
store_retrieval_non_linear_hnsw/size_100000                  1.00    588.7±1.74µs        ? ?/sec    1.09    639.8±1.10µs        ? ?/sec
store_retrieval_non_linear_kdtree/size_100                   1.00    218.7±0.12µs        ? ?/sec    1.00    219.4±0.20µs        ? ?/sec
store_retrieval_non_linear_kdtree/size_1000                  1.00   1231.3±1.58µs        ? ?/sec    1.01   1238.3±0.25µs        ? ?/sec
store_retrieval_non_linear_kdtree/size_10000                 1.00     12.5±0.07ms        ? ?/sec    1.00     12.5±0.04ms        ? ?/sec
store_retrieval_non_linear_kdtree/size_100000                1.00    151.8±0.35ms        ? ?/sec    1.00    151.4±0.86ms        ? ?/sec
store_sequential_insertion_without_predicates/size_100       1.01    295.5±0.28µs        ? ?/sec    1.00    292.6±0.53µs        ? ?/sec
store_sequential_insertion_without_predicates/size_1000      1.01      3.0±0.01ms        ? ?/sec    1.00      2.9±0.00ms        ? ?/sec
store_sequential_insertion_without_predicates/size_10000     1.01     29.6±0.02ms        ? ?/sec    1.00     29.2±0.02ms        ? ?/sec
store_sequential_insertion_without_predicates/size_100000    1.01    295.8±0.39ms        ? ?/sec    1.00    292.2±0.17ms        ? ?/sec

@jimezesinachi jimezesinachi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jimezesinachi jimezesinachi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants