ClickHouse/tests/performance
Alexey Milovidov 989a880230
Merge pull request #62404 from Avogar/trivial-insert-select-from-files
Improve trivial insert select from files, add separate max_parsing_threads setting
2024-04-30 01:57:56 +02:00
..
scripts Always use new analyzer in perf tests 2024-04-11 16:50:01 +02:00
agg_functions_argmin_argmax.xml Implement findExtremeMinIndex / findExtremeMaxIndex 2024-01-17 16:22:40 +01:00
agg_functions_min_max_any.xml Add perf tests with tuples 2023-12-29 17:00:01 +01:00
aggregate_functions_of_group_by_keys.xml
aggregate_with_serialized_method.xml Improve the performance of serialized aggregation method when involving multiple [nullable] columns. 2024-02-29 21:48:15 +08:00
aggregating_merge_tree_simple_aggregate_function_string.xml Enable allow_suspicious_primary_key for perf tests that need it 2024-03-26 11:09:03 +00:00
aggregating_merge_tree.xml
aggregation_by_partitions.xml
aggregation_external.xml Added performance test 2023-10-11 19:01:00 +03:00
aggregation_in_order_2.xml
aggregation_in_order.xml
aggregation_overflow.xml
alter_select.xml Reduce overhead of the mutations for SELECTs (v2) 2024-04-25 14:35:21 +02:00
analyze_array_tuples.xml
and_function.xml
any_anyLast.xml speed up some perf tests (for other machines) 2021-01-16 00:15:06 +03:00
arithmetic_operations_in_aggr_func.xml fixup 2020-07-03 11:39:43 +03:00
arithmetic.xml
array_auc.xml
array_element.xml Update tests/performance/array_element.xml 2024-01-10 10:46:29 +08:00
array_fill.xml performance comparison 2020-04-16 23:55:21 +03:00
array_fold.xml Revert "Remove arrayFold" 2023-12-14 09:52:29 +00:00
array_index_low_cardinality_numbers.xml Update tests 2024-02-14 12:48:05 +00:00
array_index_low_cardinality_strings.xml
array_join.xml add perf test 2024-03-13 18:57:33 +08:00
array_reduce.xml
arrow_format.xml
asof.xml Fixed tests 2024-02-13 15:41:17 +03:00
async_remote_read.xml
avg_weighted.xml Update avg_weighted.xml (#56797) 2023-11-16 20:46:17 +01:00
avg.xml
base64_hits.xml
base64.xml
basename.xml
bigint_arithm.xml Faster 256-bit multiplication (#15418) 2020-09-29 20:52:34 +03:00
bigint_formatting.xml Add perf tests 2024-03-08 15:17:59 +01:00
bit_operations_fixed_string_numbers.xml More stable perf tests 2020-06-08 16:57:33 +03:00
bit_operations_fixed_string.xml
bitmap_array_element.xml
bloom_filter_insert.xml
bloom_filter_select.xml
bounding_ratio.xml Reduce bounding_ratio.xml 2024-01-04 11:20:07 +00:00
casts.xml
cidr.xml
classification.xml
coalesce.xml Trivial optimize of function coalesce. (#59627) 2024-02-14 11:29:45 +01:00
codec_none.xml
codecs_float_insert.xml
codecs_float_select.xml
codecs_int_insert.xml Deprecate Gorilla compression of non-float columns 2023-01-20 17:31:16 +00:00
codecs_int_select.xml
collations.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
column_array_filter.xml
column_array_replicate.xml add performance tests 2023-02-02 20:16:16 +08:00
ColumnMap.xml
columns_hashing.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
complex_array_creation.xml fix more queries 2020-06-26 22:11:43 +03:00
concat_hits.xml
conditional.xml optimize function coalesce with two arguments 2022-05-30 22:29:35 +00:00
consistent_hashes.xml
constant_column_comparison.xml
constant_column_search.xml
count_from_formats.xml Disable cache in perf test 2023-08-23 21:01:18 +00:00
count.xml
countDigits.xml
countIf.xml Implement AggregateFunctionCountNotNullUnary::addBatchSinglePlace 2021-11-25 16:41:48 +01:00
countMatches.xml
cpu_synthetic.xml
cryptographic_hashes.xml Print nicer exception if BLAKE3 is unavailable 2022-10-05 00:11:41 +03:00
date_parsing.xml
date_time_64.xml
date_time_long.xml
date_time_short.xml Various test, code and docs fixups 2023-01-15 13:47:34 +00:00
datetime64_conversion.xml Add a test 2023-02-08 02:17:23 +01:00
datetime_comparison.xml
decimal_aggregates.xml Optimize quantilesExact{Low,High} to use nth_element instead of sort 2022-02-03 12:24:33 +00:00
decimal_casts.xml
decimal_format.xml
decimal_parse.xml Reduce the size of decimal_parse 2024-01-03 17:29:30 +00:00
destroy_aggregate_states.xml impl 2022-06-04 19:14:38 +00:00
dict_join.xml
direct_dictionary.xml
distinct_combinator.xml
distinct_in_order.xml
distributed_aggregation_memory_efficient.xml
distributed_aggregation.xml
dotProduct.xml Implement const/non-const shortcut 2024-03-06 16:56:01 +00:00
empty_string_deserialization.xml
empty_string_serialization.xml
encodeXMLComponent.xml
encrypt_decrypt_empty_string.xml Remove trash 2022-06-22 06:23:35 +02:00
entropy.xml
enum_in_set.xml Cache cast function in set during execution (#55712) 2023-10-23 13:31:44 +02:00
explain_ast.xml
extract.xml
file_table_function.xml
final_big_column.xml simplify perf tests and minor code change 2024-01-11 08:25:35 +00:00
final_with_lonely_parts.xml more stable stateless test + add perf. test 2023-08-31 06:27:06 +00:00
fixed_string16.xml
flat_dictionary.xml
float_formatting.xml adjust perf test thresholds 2021-03-26 00:00:18 +03:00
float_mod.xml
float_parsing.xml
format_date_time.xml
format_readable.xml
formats_columns_sampling.xml
function_calculation_after_sorting_and_limit.xml
function_tokens.xml Revert "Speed up splitByRegexp" 2024-04-16 14:32:39 +02:00
functions_coding.xml
functions_geo.xml
functions_with_hash_tables.xml
fuse_sumcount.xml
fuzz_bits.xml
general_purpose_hashes_on_UUID.xml
general_purpose_hashes.xml
generate_table_function.xml
get_map_value.xml Optimization for getting value from map, arrayElement(1/2) (#55929) 2023-10-27 09:54:25 +02:00
grace_hash_join.xml
great_circle_dist.xml
group_array_moving_sum.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
group_array_sorted.xml Revert "Revert "Add new aggregation function groupArraySorted()"" 2024-01-30 17:15:29 +03:00
group_by_consecutive_keys.xml slightly faster and perf test 2023-12-16 03:35:59 +00:00
group_by_fixed_keys.xml Adapt more tests 2024-01-04 11:36:33 +00:00
group_by_sundy_li.xml Make test more reasonable 2024-01-03 17:19:44 +00:00
groupby_onekey_nullable.xml Make projections production-ready 2023-05-10 03:35:13 +02:00
h3.xml
has_all.xml
hash_table_sizes_stats_small.xml
hash_table_sizes_stats.xml
hashed_array_dictionary.xml
hashed_dictionary_load_factor.xml
hashed_dictionary_sharded.xml
hashed_dictionary.xml Reduce hashed_dictionary.xml 2024-01-04 11:29:17 +00:00
hashjoin_with_large_output.xml Add tests/performance/hashjoin_with_large_output.xml 2023-12-22 15:52:45 +00:00
hierarchical_dictionaries.xml
if_array_num.xml
if_array_string.xml
if_string_const.xml
if_string_hits.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
if_to_multiif.xml Adjust perf test 2021-01-15 13:22:51 +03:00
if_transform_strings_to_enum.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
if.xml merge master 2024-02-01 10:58:33 +08:00
information_value.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
injective_functions_inside_uniq.xml Delete injective functions inside uniq (#12337) 2020-07-10 13:42:41 +03:00
insert_parallel.xml
insert_select_default_small_block.xml
insert_sequential_and_background_merges.xml Rename test 2020-10-23 13:42:15 +03:00
insert_values_with_expressions.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
inserts_arrays_lowcardinality.xml
int_parsing.xml
intDiv.xml
ip_trie.xml
IPv4.xml
IPv6.xml fix more queries 2020-06-26 22:11:43 +03:00
jit_aggregate_functions.xml Fix table names 2024-01-17 11:36:07 +01:00
jit_large_requests.xml
jit_small_requests.xml
jit_sort.xml
join_append_block.xml Fix significant join performance regression 2022-06-14 21:14:18 +08:00
join_convert_outer_to_inner.xml Added performance tests 2024-04-28 12:52:04 +03:00
join_filter_pushdown_equivalent_sets.xml Updated implementation 2024-04-11 11:09:08 +03:00
join_filter_pushdown.xml add perf test 2023-07-24 20:34:01 +02:00
join_max_streams.xml Add tests/performance/join_max_streams.xml 2021-07-07 20:51:07 +03:00
join_used_flags.xml Adapt more tests 2024-01-04 11:36:33 +00:00
joins_in_memory.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
json_extract_rapidjson.xml
json_extract_simdjson.xml update benckmark test 2023-09-15 18:09:58 +08:00
json_input_format_part_fields.xml update test 2024-04-12 10:00:52 +08:00
json_type.xml
least_greatest_hits.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
leftpad.xml
lightweight_delete.xml
line_as_string_parsing.xml
linear_regression.xml
local_replica.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
logical_functions_large.xml
logical_functions_medium.xml
logical_functions_small.xml
lot_of_subcolumns.xml
low_cardinality_argument.xml
low_cardinality_from_json.xml
low_cardinality_query.xml Add perftest: low_cardinality_query 2022-11-08 17:19:18 +08:00
lower_upper_utf8.xml
lz4_hits_columns.xml Skip empty literals in lz4 decompression (#40142) 2022-09-06 13:58:26 +02:00
lz4.xml
map_populate_series.xml
map_update.xml
materialized_view_parallel_insert.xml
materialized_view_parallelize_output_from_storages.xml Adjust min_insert_block_size_rows for materialized_view_parallelize_output_from_storages 2023-06-14 19:11:23 +03:00
math.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
memory_bound_merging.xml Parallel replicas. Part [2] (#43772) 2023-02-03 14:34:18 +01:00
memory_cache_friendliness.xml Add perf test 2021-02-07 05:42:43 +03:00
merge_table_streams.xml
merge_tree_huge_pk.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
merge_tree_insert.xml Revert "Merge pull request #55682 from ClickHouse/revert-35961-decimal-column-improve-get-permutation" 2023-10-25 21:48:13 +03:00
merge_tree_many_partitions_2.xml Fixed performance tests 2022-03-15 15:43:39 +00:00
merge_tree_many_partitions.xml
merge_tree_simple_select.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
min_max_index.xml Reduce setup time of min_max_index.xml 2024-01-03 17:16:45 +00:00
mingroupby-orderbylimit1.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
mmap_io.xml
modulo.xml Fix a rare false negative in perf tests 2021-03-02 19:21:30 +03:00
monotonous_order_by.xml
multiif.xml fix failed uts 2024-02-29 15:00:09 +08:00
ngram_distance.xml Remove tags as well 2022-05-02 02:35:44 +02:00
nlp.xml
norm_distance.xml Add performance test for dotProduct() 2024-02-20 21:41:10 +00:00
normalize_utf8.xml Normalize UTF8 performance test fix 2022-06-09 15:35:53 +02:00
number_formatting_formats.xml
one_thousand_joins.xml Add test for bug 33446 2024-04-23 13:20:27 +00:00
optimize_sorting_for_input_stream.xml
optimize_window_funnel.xml
optimized_select_final_one_part.xml
optimized_select_final.xml
or_null_default.xml
orc_filter_push_down.xml fix code style 2023-11-02 10:49:18 +08:00
orc_tuple_field_prune.xml fix failed perf test 2023-11-02 15:27:48 +08:00
order_by_decimals.xml
order_by_read_in_order.xml
order_by_single_column.xml Remove tags as well 2022-05-02 02:35:44 +02:00
order_by_tuple.xml Remove tags as well 2022-05-02 02:35:44 +02:00
order_with_limit.xml Implement findExtremeMinIndex / findExtremeMaxIndex 2024-01-17 16:22:40 +01:00
parallel_final.xml simplify perf tests and minor code change 2024-01-11 08:25:35 +00:00
parallel_index.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
parallel_insert.xml
parallel_mv.xml
parquet_filter.xml Performance test 2023-08-21 14:15:52 -07:00
parquet_read.xml improve parquet struct field reading 2023-11-01 15:18:39 +08:00
parse_engine_file.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
parse_illegal_datetime.xml Reduce performance test size 2024-04-16 10:09:17 +00:00
point_in_polygon_const.xml
point_in_polygon.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
polymorphic_parts_l.xml Reduce polymorphic_parts_m 2024-01-03 17:24:15 +00:00
polymorphic_parts_m.xml Reduce polymorphic_parts_m 2024-01-03 17:24:15 +00:00
polymorphic_parts_s.xml
position_empty_needle.xml change as request 2023-01-30 16:13:12 +08:00
pre_limit_no_sorting.xml
prefetch_in_aggregation.xml
prepare_hash_before_merge.xml Optimize the merge if all hashSets are singleLevel in UniqExactSet (#52973) 2023-08-30 11:26:16 +02:00
prewhere_with_row_level_filter.xml
prewhere.xml
push_down_limit.xml
quantile_merge.xml
quantile.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
queries_over_aggregation.xml
query_interpretation_join.xml Add benchmark for query interpretation with JOINs 2022-11-23 13:15:35 +01:00
rand.xml Add function canonicalRand (#43124) 2022-11-15 00:27:19 +01:00
random_fixed_string.xml
random_printable_ascii.xml
random_string_utf8.xml
random_string.xml
range_hashed_dictionary.xml
range.xml
re2_regex_caching.xml Fix performance test for regexp cache 2023-07-09 02:21:48 +02:00
read_from_comp_parts.xml
read_hits_with_aio.xml
read_in_order_many_parts.xml
reading_from_file.xml
README.md Fix perf test README 2023-12-27 12:16:17 +00:00
redundant_functions_in_order_by.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
reinterpret_as.xml Halve the size of reinterpret_as.xml 2024-01-04 11:24:36 +00:00
removing_group_by_keys.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
rewrite_array_exists.xml
rewrite_sumIf.xml
right.xml
round_down.xml make the test longer 2020-10-30 18:16:30 +03:00
round_methods.xml
scalar2.xml
scalar.xml
schema_inference_text_formats.xml
select_format.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
sequence_match.xml
set_disable_skip_index.xml
set_hits.xml
set_index.xml
set.xml
short_circuit_functions.xml
simple_join_query.xml
single_fixed_string_groupby.xml
slices_hits.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
small_block_contention.xml Remove lock from the ReadProgressCallback 2024-02-22 18:00:55 +01:00
sort_patterns.xml Revert "Merge pull request #55682 from ClickHouse/revert-35961-decimal-column-improve-get-permutation" 2023-10-25 21:48:13 +03:00
sort_radix_trivial.xml
sort.xml
sparse_column.xml
split_filter.xml
storage_join_direct_join.xml fix performance test 2023-08-07 06:25:46 +00:00
string_join.xml
string_set.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
string_sort.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
string_to_int.xml
subqueries.xml
sum_map.xml Reduce sum_map.xml 2024-01-04 11:31:20 +00:00
sum.xml add some perf tests 2024-02-04 15:55:22 +08:00
sumIf.xml Devirtualize -If and vectorize count 2020-12-21 11:35:38 +08:00
synthetic_hardware_benchmark.xml
trim_numbers.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
trim_urls.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
trim_whitespace.xml
trivial_insert_select_from_files.xml Restart CI 2024-04-09 12:33:18 +02:00
tsv_csv_nullable_parsing.xml
unary_arithmetic_functions.xml
unary_logical_functions.xml
uniq_stored.xml
uniq_to_count.xml Add optimization uniq to count 2023-09-13 16:16:11 +08:00
uniq_without_key_dist.xml add perf test 2024-01-19 17:57:11 +01:00
uniq_without_key.xml
uniq.xml
uniqExactIf.xml
url_hits.xml Add tests and doc for some url-related functions 2022-10-26 10:52:57 +00:00
utc_timestamp_transform.xml modify test 2024-04-12 16:57:34 +08:00
vectorize_aggregation_combinators.xml Added performance test to resemble questionable benchmark 2020-06-25 23:40:07 +03:00
views_max_insert_threads.xml Fix max_insert_threads while pushing to views 2022-07-03 15:14:05 +03:00
visit_param_extract_raw.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
website.xml
window_functions_downstream_multithreading.xml Multithreading after window functions (#50771) 2023-10-27 12:36:28 +02:00
window_functions.xml
writing_valid_utf8.xml

ClickHouse performance tests

This directory contains .xml-files with performance tests for @akuzm tool.

How to write performance test

First of all you should check existing tests don't cover your case. If there are no such tests then you should write your own.

You can use substitions, create, fill and drop queries to prepare test. You can find examples in this folder.

If your test takes more than 10 minutes, please, add tag long to have an opportunity to run all tests and skip long ones.

How to run performance test

TODO @akuzm

How to validate single test

pip3 install clickhouse_driver scipy
../../tests/performance/scripts/perf.py --runs 1 insert_parallel.xml