Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor hash function execution framework #3583

Merged
merged 11 commits into from
Jun 5, 2024
Merged

Refactor hash function execution framework #3583

merged 11 commits into from
Jun 5, 2024

Conversation

acquamarin
Copy link
Collaborator

@acquamarin acquamarin commented Jun 4, 2024

Description

This PR refactors the hash function execution framework by passing the selectionState to the executor.

Todos:
Refactor the aggregate hash operator to utilize the new hash function execution framework.

@acquamarin acquamarin changed the title Refactor Refactor hash function execution framework Jun 4, 2024
src/function/vector_hash_functions.cpp Show resolved Hide resolved
src/function/vector_hash_functions.cpp Outdated Show resolved Hide resolved
src/processor/operator/hash_join/join_hash_table.cpp Outdated Show resolved Hide resolved
src/processor/result/base_hash_table.cpp Show resolved Hide resolved
Copy link

github-actions bot commented Jun 4, 2024

Benchmark Result

Master commit hash: 35eee929fc96706a163dc03b4f7706978d78ccb8
Branch commit hash: 2f957e2591fbcbe70dc26929782fb8d737201e22

Query Group Query Name Mean Time - Commit (ms) Mean Time - Master (ms) Diff
aggregation q24 655.06 652.25 2.82 (0.43%)
aggregation q28 14726.13 13072.70 1653.42 (12.65%)
filter q14 122.00 132.51 -10.51 (-7.93%)
filter q15 123.39 137.05 -13.66 (-9.97%)
filter q16 301.88 310.13 -8.25 (-2.66%)
filter q17 442.85 450.91 -8.06 (-1.79%)
filter q18 1914.05 1953.11 -39.06 (-2.00%)
fixed_size_expr_evaluator q07 566.74 571.74 -5.00 (-0.87%)
fixed_size_expr_evaluator q08 795.55 799.51 -3.96 (-0.49%)
fixed_size_expr_evaluator q09 794.05 796.27 -2.21 (-0.28%)
fixed_size_expr_evaluator q10 242.13 247.65 -5.52 (-2.23%)
fixed_size_expr_evaluator q11 237.40 242.89 -5.49 (-2.26%)
fixed_size_expr_evaluator q12 237.12 241.68 -4.57 (-1.89%)
fixed_size_expr_evaluator q13 1477.67 1482.80 -5.14 (-0.35%)
fixed_size_seq_scan q23 116.15 123.69 -7.55 (-6.10%)
join q29 708.42 704.94 3.48 (0.49%)
join q30 1404.87 1395.87 9.00 (0.64%)
join q31 48.62 38.77 9.85 (25.42%)
ldbc_snb_ic q35 3256.53 3223.53 33.01 (1.02%)
ldbc_snb_ic q36 135.51 131.44 4.06 (3.09%)
ldbc_snb_is q32 12.46 11.62 0.85 (7.29%)
ldbc_snb_is q33 97.37 98.06 -0.69 (-0.70%)
ldbc_snb_is q34 93.20 100.23 -7.03 (-7.01%)
order_by q25 130.80 132.79 -1.99 (-1.50%)
order_by q26 430.93 446.48 -15.55 (-3.48%)
order_by q27 1418.87 1423.13 -4.25 (-0.30%)
scan_after_filter q01 161.64 174.51 -12.87 (-7.37%)
scan_after_filter q02 146.17 155.28 -9.10 (-5.86%)
shortest_path_ldbc100 q39 58.17 55.90 2.27 (4.07%)
var_size_expr_evaluator q03 2047.05 2049.14 -2.09 (-0.10%)
var_size_expr_evaluator q04 2215.61 2273.39 -57.78 (-2.54%)
var_size_expr_evaluator q05 2608.41 2545.55 62.86 (2.47%)
var_size_expr_evaluator q06 1377.74 1394.92 -17.18 (-1.23%)
var_size_seq_scan q19 1453.25 1468.85 -15.60 (-1.06%)
var_size_seq_scan q20 3009.99 3045.50 -35.51 (-1.17%)
var_size_seq_scan q21 2373.34 2375.60 -2.26 (-0.10%)
var_size_seq_scan q22 129.33 131.82 -2.50 (-1.89%)

Copy link

github-actions bot commented Jun 5, 2024

Benchmark Result

Master commit hash: 35eee929fc96706a163dc03b4f7706978d78ccb8
Branch commit hash: 2f957e2591fbcbe70dc26929782fb8d737201e22

Query Group Query Name Mean Time - Commit (ms) Mean Time - Master (ms) Diff
aggregation q24 640.75 652.25 -11.50 (-1.76%)
aggregation q28 15334.47 13072.70 2261.77 (17.30%)
filter q14 122.29 132.51 -10.22 (-7.71%)
filter q15 119.05 137.05 -18.00 (-13.14%)
filter q16 301.50 310.13 -8.63 (-2.78%)
filter q17 442.23 450.91 -8.69 (-1.93%)
filter q18 1912.93 1953.11 -40.18 (-2.06%)
fixed_size_expr_evaluator q07 571.42 571.74 -0.32 (-0.06%)
fixed_size_expr_evaluator q08 793.00 799.51 -6.51 (-0.81%)
fixed_size_expr_evaluator q09 792.90 796.27 -3.37 (-0.42%)
fixed_size_expr_evaluator q10 243.39 247.65 -4.26 (-1.72%)
fixed_size_expr_evaluator q11 237.66 242.89 -5.24 (-2.16%)
fixed_size_expr_evaluator q12 237.26 241.68 -4.42 (-1.83%)
fixed_size_expr_evaluator q13 1473.38 1482.80 -9.42 (-0.64%)
fixed_size_seq_scan q23 112.62 123.69 -11.07 (-8.95%)
join q29 711.54 704.94 6.60 (0.94%)
join q30 1388.33 1395.87 -7.54 (-0.54%)
join q31 43.28 38.77 4.51 (11.64%)
ldbc_snb_ic q35 3179.08 3223.53 -44.44 (-1.38%)
ldbc_snb_ic q36 126.01 131.44 -5.43 (-4.13%)
ldbc_snb_is q32 11.85 11.62 0.23 (2.01%)
ldbc_snb_is q33 95.12 98.06 -2.94 (-3.00%)
ldbc_snb_is q34 95.83 100.23 -4.40 (-4.39%)
order_by q25 127.71 132.79 -5.08 (-3.83%)
order_by q26 430.08 446.48 -16.39 (-3.67%)
order_by q27 1404.56 1423.13 -18.57 (-1.30%)
scan_after_filter q01 161.85 174.51 -12.66 (-7.25%)
scan_after_filter q02 146.35 155.28 -8.93 (-5.75%)
shortest_path_ldbc100 q39 58.25 55.90 2.35 (4.20%)
var_size_expr_evaluator q03 2039.97 2049.14 -9.17 (-0.45%)
var_size_expr_evaluator q04 2185.32 2273.39 -88.07 (-3.87%)
var_size_expr_evaluator q05 2600.50 2545.55 54.96 (2.16%)
var_size_expr_evaluator q06 1374.54 1394.92 -20.38 (-1.46%)
var_size_seq_scan q19 1457.81 1468.85 -11.05 (-0.75%)
var_size_seq_scan q20 2965.50 3045.50 -80.01 (-2.63%)
var_size_seq_scan q21 2364.87 2375.60 -10.72 (-0.45%)
var_size_seq_scan q22 128.43 131.82 -3.40 (-2.58%)

Copy link

github-actions bot commented Jun 5, 2024

Benchmark Result

Master commit hash: None
Branch commit hash: 920c11d544cf11211d935b34fd0192de246c87f6

Query Group Query Name Mean Time - Commit (ms)
aggregation q24 640.78
aggregation q28 11795.13
copy node-Comment 55484.42
copy node-Forum 4497.07
copy node-Organisation 1290.05
copy node-Person 2539.36
copy node-Place 1328.22
copy node-Post 19589.20
copy node-Tag 1149.80
copy node-Tagclass 894.35
copy rel-comment-hasCreator 47223.37
copy rel-comment-hasTag 69103.03
copy rel-comment-isLocatedIn 48983.84
copy rel-containerOf 11530.10
copy rel-forum-hasTag 2486.08
copy rel-hasInterest 1797.79
copy rel-hasMember 38404.65
copy rel-hasModerator 1059.65
copy rel-hasType 152.06
copy rel-isPartOf 221.64
copy rel-isSubclassOf 231.94
copy rel-knows 4451.78
copy rel-likes-comment 72267.71
copy rel-likes-post 26695.04
copy rel-organisation-isLocatedIn 76.17
copy rel-person-isLocatedIn 290.67
copy rel-post-hasCreator 11618.34
copy rel-post-hasTag 14602.59
copy rel-post-isLocatedIn 12066.31
copy rel-replyOf-comment 51889.26
copy rel-replyOf-post 36767.40
copy rel-studyAt 379.52
copy rel-workAt 524.05
filter q14 124.03
filter q15 130.12
filter q16 299.73
filter q17 444.84
filter q18 1925.75
fixed_size_expr_evaluator q07 564.49
fixed_size_expr_evaluator q08 790.35
fixed_size_expr_evaluator q09 786.30
fixed_size_expr_evaluator q10 238.43
fixed_size_expr_evaluator q11 232.63
fixed_size_expr_evaluator q12 233.64
fixed_size_expr_evaluator q13 1469.57
fixed_size_seq_scan q23 112.91
join q29 666.02
join q30 1369.93
join q31 46.46
ldbc_snb_ic q35 3407.23
ldbc_snb_ic q36 121.47
ldbc_snb_is q32 10.95
ldbc_snb_is q33 93.14
ldbc_snb_is q34 92.80
order_by q25 121.54
order_by q26 434.19
order_by q27 1394.63
scan_after_filter q01 164.35
scan_after_filter q02 151.31
shortest_path_ldbc100 q39 60.21
var_size_expr_evaluator q03 2035.50
var_size_expr_evaluator q04 2201.08
var_size_expr_evaluator q05 2502.92
var_size_expr_evaluator q06 1378.30
var_size_seq_scan q19 1467.56
var_size_seq_scan q20 3062.38
var_size_seq_scan q21 2365.17
var_size_seq_scan q22 125.83

@acquamarin acquamarin merged commit b95c1f9 into master Jun 5, 2024
19 checks passed
@acquamarin acquamarin deleted the refactor branch June 5, 2024 03:16
ted-wq-x pushed a commit to ted-wq-x/kuzu that referenced this pull request Nov 14, 2024
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