jzombie
rust-llkv
BlogDocsChangelog

Perf improvements for TPC-H ingestion

#176Merged
Comparing
67-continue-tpch-support--perf
(
49fa20b
) with
main
(
4dc34c1
)
CodSpeed Performance Gauge
-15%
Improvements
12
Regressions
4
Untouched
59
Skipped
2

Benchmarks

Skipped (2)

full_test_file
criterion::select4_slturl
Skipped
8.9 s*
select4_full
criterion::select4_slturl
Skipped
8.5 s*

Failed

hash_join_inner_join[100000]
criterion::hash_join_inner_join::100000
Regression
CodSpeed Performance Gauge
-10%
14 ms15.6 ms
hash_join_left_join[100000]
criterion::hash_join_left_join::100000
Regression
CodSpeed Performance Gauge
-13%
8.8 ms10.1 ms
hash_join_many_to_many[100000]
criterion::hash_join_many_to_many::100000
Regression
CodSpeed Performance Gauge
-10%
15.1 ms16.8 ms
ingest_mixed_1M[batches=64]
criterion::ingest_mixed_1M::batches=64
Regression
CodSpeed Performance Gauge
-15%
809.9 ms950 ms

Improved

hash_join_semi_join[1000]
criterion::hash_join_semi_join::1000
CodSpeed Performance Gauge
+39%
82 µs59.1 µs
hash_join_inner_join[1000000]
criterion::hash_join_inner_join::1000000
CodSpeed Performance Gauge
+35%
279.7 ms207.9 ms
hash_join_semi_join[10000]
criterion::hash_join_semi_join::10000
CodSpeed Performance Gauge
+25%
250.3 µs199.5 µs
hash_join_no_matches[1000000]
criterion::hash_join_no_matches::1000000
CodSpeed Performance Gauge
+25%
267.1 ms214.4 ms
hash_join_no_matches[1000]
criterion::hash_join_no_matches::1000
CodSpeed Performance Gauge
+17%
164 µs140 µs
hash_join_left_join[1000000]
criterion::hash_join_left_join::1000000
CodSpeed Performance Gauge
+17%
158 ms135.2 ms
hash_join_anti_join[1000]
criterion::hash_join_anti_join::1000
CodSpeed Performance Gauge
+16%
86.1 µs74.6 µs
hash_join_many_to_many[1000]
criterion::hash_join_many_to_many::1000
CodSpeed Performance Gauge
+13%
181.5 µs160.9 µs
hash_join_left_join[1000]
criterion::hash_join_left_join::1000
CodSpeed Performance Gauge
+12%
152.7 µs136.7 µs
scan_stream_expr_divide_two
criterion::llkv_table_math_1M
CodSpeed Performance Gauge
+10%
1.1 ms1 ms
ingest_mixed_1M[batches=1]
criterion::ingest_mixed_1M::batches=1
CodSpeed Performance Gauge
+10%
209.2 ms189.7 ms
scan_stream_expr_multiply_two
criterion::llkv_table_math_1M
CodSpeed Performance Gauge
+10%
1.1 ms1 ms

Passed

planner_fused_starts_case_insensitive
criterion::string_substring_fused_vs_sequential
CodSpeed Performance Gauge
+9%
22.5 ms20.6 ms
ingest_mixed_1M[batches=4]
criterion::ingest_mixed_1M::batches=4
CodSpeed Performance Gauge
+8%
345.7 ms320.3 ms
scan_contains_needle_case_sensitive
criterion::string_substring_search
CodSpeed Performance Gauge
+8%
44 ms40.8 ms
lowfrag/range/without_index
criterion::index_matrix_1M::lowfrag_range_without_index
CodSpeed Performance Gauge
+7%
4.1 ms3.9 ms
hash_join_anti_join[10000]
criterion::hash_join_anti_join::10000
CodSpeed Performance Gauge
+6%
287.4 µs271.3 µs
scan_stream_expr_subtract_one
criterion::llkv_table_math_1M
CodSpeed Performance Gauge
+5%
1,047.2 µs997.5 µs
scan_stream_sum_u64
criterion::llkv_table_math_1M
CodSpeed Performance Gauge
+5%
110.1 µs104.9 µs
single_column
criterion::gather_rows
CodSpeed Performance Gauge
+5%
617.9 µs589.8 µs
multi_column_batched
criterion::gather_rows
CodSpeed Performance Gauge
+5%
1.8 ms1.8 ms
multi_column_sequential
criterion::gather_rows
CodSpeed Performance Gauge
+5%
1.9 ms1.8 ms
highfrag/range/with_index
criterion::index_matrix_1M::highfrag_range_with_index
CodSpeed Performance Gauge
+4%
3.4 ms3.3 ms
sorted_with_row_ids_u64
criterion::scan_builder_1M
CodSpeed Performance Gauge
+3%
20.7 ms20 ms
storage_sequential_both_case_sensitive
criterion::string_substring_storage_only
CodSpeed Performance Gauge
+3%
48.4 ms46.9 ms
storage_fused_starts_case_insensitive
criterion::string_substring_storage_only
CodSpeed Performance Gauge
+3%
5 ms4.8 ms
hash_join_semi_join[1000000]
criterion::hash_join_semi_join::1000000
CodSpeed Performance Gauge
+3%
47.3 ms45.9 ms
unsorted_sum_u64
criterion::scan_builder_1M
CodSpeed Performance Gauge
+3%
962.6 µs938.5 µs
storage_sequential_starts_case_insensitive
criterion::string_substring_storage_only
CodSpeed Performance Gauge
+2%
84.9 ms83.1 ms
lowfrag/full/with_index
criterion::index_matrix_1M::lowfrag_full_with_index
CodSpeed Performance Gauge
+2%
20.8 ms20.4 ms
hash_join_semi_join[100000]
criterion::hash_join_semi_join::100000
CodSpeed Performance Gauge
+2%
3.6 ms3.6 ms
highfrag/full/without_index
criterion::index_matrix_1M::highfrag_full_without_index
CodSpeed Performance Gauge
+2%
15.1 ms14.8 ms
hash_join_many_to_many[10000]
criterion::hash_join_many_to_many::10000
CodSpeed Performance Gauge
+2%
860.4 µs847.1 µs
hash_join_many_to_many[100]
criterion::hash_join_many_to_many::100
CodSpeed Performance Gauge
+2%
83.1 µs81.9 µs
store_sequential_both_case_insensitive
criterion::string_substring_fused_vs_sequential
CodSpeed Performance Gauge
+2%
144 ms141.9 ms
lowfrag/full/without_index
criterion::index_matrix_1M::lowfrag_full_without_index
CodSpeed Performance Gauge
+1%
14.9 ms14.7 ms
hash_join_anti_join[1000000]
criterion::hash_join_anti_join::1000000
CodSpeed Performance Gauge
+1%
53.3 ms52.6 ms
storage_sequential_contains_case_insensitive
criterion::string_substring_storage_only
CodSpeed Performance Gauge
+1%
106.1 ms104.8 ms
highfrag/full/with_index
criterion::index_matrix_1M::highfrag_full_with_index
CodSpeed Performance Gauge
+1%
42.7 ms42.2 ms
store_sequential_contains_case_insensitive
criterion::string_substring_fused_vs_sequential
CodSpeed Performance Gauge
+1%
105.5 ms104.7 ms
store_sequential_starts_case_insensitive
criterion::string_substring_fused_vs_sequential
CodSpeed Performance Gauge
+1%
84.3 ms83.8 ms
storage_sequential_both_case_insensitive
criterion::string_substring_storage_only
CodSpeed Performance Gauge
0%
143.3 ms142.7 ms
planner_fused_both_case_insensitive
criterion::string_substring_fused_vs_sequential
CodSpeed Performance Gauge
0%
100.2 ms99.7 ms
sum_i32_scan_only
criterion::column_store_sum_1M
CodSpeed Performance Gauge
0%
48.8 µs48.7 µs
multi_column_batched_with_nulls
criterion::gather_rows
CodSpeed Performance Gauge
0%
649.6 µs648.5 µs
scan_stream_expr_add_one
criterion::llkv_table_math_1M
CodSpeed Performance Gauge
0%
1 ms1 ms
hash_join_no_matches[10000]
criterion::hash_join_no_matches::10000
CodSpeed Performance Gauge
0%
682.8 µs683.1 µs
highfrag/range/without_index
criterion::index_matrix_1M::highfrag_range_without_index
CodSpeed Performance Gauge
0%
4.9 ms4.9 ms
select4_full
criterion::slturl_cases
CodSpeed Performance Gauge
0%
8.9 s8.9 s
planner_fused_contains_case_insensitive
criterion::string_substring_fused_vs_sequential
CodSpeed Performance Gauge
0%
101 ms101.3 ms
storage_fused_both_case_insensitive
criterion::string_substring_storage_only
CodSpeed Performance Gauge
0%
84.5 ms84.8 ms
hash_join_left_join[10000]
criterion::hash_join_left_join::10000
CodSpeed Performance Gauge
0%
602.2 µs605.1 µs
scan_contains_needle_case_insensitive
criterion::string_substring_search
CodSpeed Performance Gauge
-1%
100.3 ms100.9 ms
scan_sorted_stream_join
criterion::random_probe_u64
CodSpeed Performance Gauge
-1%
21.8 ms21.9 ms
storage_fused_contains_case_insensitive
criterion::string_substring_storage_only
CodSpeed Performance Gauge
-1%
83.7 ms84.7 ms
table_layer_sum
criterion::table_layer_overhead_analysis
CodSpeed Performance Gauge
-1%
107.6 µs108.8 µs
delete1000_full
criterion::slturl_cases
CodSpeed Performance Gauge
-1%
371.2 ms375.9 ms
hash_join_inner_join[1000]
criterion::hash_join_inner_join::1000
CodSpeed Performance Gauge
-1%
90 µs91.2 µs
storage_fused_both_case_sensitive
criterion::string_substring_storage_only
CodSpeed Performance Gauge
-2%
4.9 ms5 ms
hash_join_inner_join[10000]
criterion::hash_join_inner_join::10000
CodSpeed Performance Gauge
-2%
686.4 µs697.7 µs
planner_fused_both_case_sensitive
criterion::string_substring_fused_vs_sequential
CodSpeed Performance Gauge
-2%
19.9 ms20.4 ms
store_sequential_both_case_sensitive
criterion::string_substring_fused_vs_sequential
CodSpeed Performance Gauge
-3%
48.3 ms49.7 ms
hash_join_no_matches[100000]
criterion::hash_join_no_matches::100000
CodSpeed Performance Gauge
-3%
12.4 ms12.8 ms
sum_u64_fragmented_scan_only
criterion::column_store_fragmented_1M
CodSpeed Performance Gauge
-3%
90.2 µs93.3 µs
sum_u64_scan_only
criterion::column_store_sum_1M
CodSpeed Performance Gauge
-3%
101.6 µs105.2 µs
lowfrag/range/with_index
criterion::index_matrix_1M::lowfrag_range_with_index
CodSpeed Performance Gauge
-4%
2 ms2.1 ms
direct_columnstore_sum
criterion::table_layer_overhead_analysis
CodSpeed Performance Gauge
-4%
104.6 µs109.1 µs
hash_join_anti_join[100000]
criterion::hash_join_anti_join::100000
CodSpeed Performance Gauge
-4%
4.3 ms4.5 ms
sorted_range_u64
criterion::scan_builder_1M
CodSpeed Performance Gauge
-5%
22.8 ms24 ms
ingest_mixed_1M[batches=16]
criterion::ingest_mixed_1M::batches=16
CodSpeed Performance Gauge
-7%
477.7 ms512.3 ms
scan_unsorted_multiset
criterion::random_probe_u64
CodSpeed Performance Gauge
-8%
1.7 ms1.9 ms

Commits

Click on a commit to change the comparison range
Base
main
4dc34c1
-15.94%
Revert "Gate tests and benches behind successful lint gate" This reverts commit d7ae33d25c0a7b17b03d2e036b756cfe0185de47.
beaada0
3 days ago
by jzombie
+1.2%
Improve code reuse for primitive ordering
49fa20b
3 days ago
by jzombie
© 2025 CodSpeed Technology
Home Terms Privacy Docs