ClickHouse/tests/performance
Kruglov Pavel 73adbb4c15
Merge pull request #35986 from amosbird/better-scalar1
Fix performance regression of scalar query
2022-04-07 14:07:59 +02:00
..
agg_functions_min_max_any.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
aggregate_functions_of_group_by_keys.xml Eliminate min/max/any aggregators of GROUP BY keys in SELECT section (#11667) 2020-06-17 12:32:43 +03:00
aggregating_merge_tree_simple_aggregate_function_string.xml Update tests for new numbers(limit) syntax 2021-02-10 22:32:32 +03:00
aggregating_merge_tree.xml Update aggregating_merge_tree.xml 2020-06-09 01:41:57 +03:00
aggregation_in_order_2.xml better perf test 2021-10-19 17:13:52 +03:00
aggregation_in_order.xml better test 2020-05-31 03:00:16 +03:00
aggregation_overflow.xml Add perftest. 2021-03-18 12:38:37 +03:00
analyze_array_tuples.xml Explicitly mark short perftest queries 2020-06-23 15:09:54 +03:00
and_function.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
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 calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
array_auc.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
array_element.xml More stable perf tests 2020-06-08 16:57:33 +03:00
array_fill.xml performance comparison 2020-04-16 23:55:21 +03:00
array_index_low_cardinality_numbers.xml Fix too long perf test 2020-12-30 16:53:30 +03:00
array_index_low_cardinality_strings.xml update perf tests 2021-02-02 17:21:43 +03:00
array_join.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
array_reduce.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
asof.xml Add ASOF performance test with random data 2022-03-17 19:48:25 +01:00
async_remote_read.xml Fix error in perf test 2021-04-22 08:43:20 +03:00
avg_weighted.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
avg.xml Needs more data in avg tests 2021-11-29 19:50:03 +01:00
base64_hits.xml fixup 2020-06-09 16:29:07 +03:00
base64.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
basename.xml fixup 2020-06-09 16:29:07 +03:00
bigint_arithm.xml Faster 256-bit multiplication (#15418) 2020-09-29 20:52:34 +03:00
bit_operations_fixed_string_numbers.xml More stable perf tests 2020-06-08 16:57:33 +03:00
bit_operations_fixed_string.xml fixup 2020-06-09 01:13:08 +03:00
bitCount.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
bloom_filter_insert.xml Fix perf tests 2020-11-08 16:55:26 +03:00
bloom_filter_select.xml Update bloom_filter_select.xml 2020-11-09 17:58:27 +03:00
bounding_ratio.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
casts.xml update perf tests 2021-02-02 17:21:43 +03:00
cidr.xml Explicitly mark short perftest queries 2020-06-23 15:09:54 +03:00
classification.xml Fixed performance tests 2022-03-15 15:43:39 +00:00
codec_none.xml Update perf test (non-significant) 2021-08-28 00:32:21 +03:00
codecs_float_insert.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
codecs_float_select.xml Explicitly mark short perftest queries 2020-06-23 15:09:54 +03:00
codecs_int_insert.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
codecs_int_select.xml Explicitly mark short perftest queries 2020-06-23 15:09:54 +03:00
collations.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
ColumnMap.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
columns_hashing.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
complex_array_creation.xml fix more queries 2020-06-26 22:11:43 +03:00
concat_hits.xml Explicitly mark short perftest queries 2020-06-23 15:09:54 +03:00
conditional.xml adjust perf test thresholds 2021-03-26 00:00:18 +03:00
consistent_hashes.xml Rename yandexConsistentHash to kostikConsistentHash 2022-03-24 02:18:25 +01:00
constant_column_comparison.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
constant_column_search.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
count.xml Make count performance tests longer 2021-11-26 09:06:37 +01:00
countIf.xml Implement AggregateFunctionCountNotNullUnary::addBatchSinglePlace 2021-11-25 16:41:48 +01:00
countMatches.xml Make some perf tests faster on slower machines 2020-12-23 05:40:55 +03:00
cpu_synthetic.xml Translate comments to english 2020-11-05 21:51:36 +03:00
cryptographic_hashes.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
date_parsing.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
date_time_64.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
date_time_long.xml Adjust timezone in performance tests 2022-03-11 23:49:13 +01:00
date_time_short.xml Adjust timezone in performance tests 2022-03-11 23:49:13 +01:00
datetime_comparison.xml Specialize date time comparision. 2021-08-03 16:49:39 +08:00
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 calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
decimal_format.xml Add performance test 2021-08-17 09:11:35 +03:00
decimal_parse.xml Added performance test 2020-05-17 06:16:34 +03:00
dict_join.xml Smaller table in performance/dict_join.xml 2021-06-24 11:27:55 +03:00
direct_dictionary.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
distinct_combinator.xml more optimal aggregate functions with both 'if' and 'distinct' combinators 2020-06-22 17:57:30 +03:00
distributed_aggregation_memory_efficient.xml Try fix perftest. 2020-05-06 21:53:40 +03:00
distributed_aggregation.xml Merge remote-tracking branch 'origin/master' into HEAD 2020-04-16 23:03:17 +03:00
duplicate_order_by_and_distinct.xml fix more queries 2020-06-26 22:11:43 +03:00
early_constant_folding.xml fix more queries 2020-06-26 22:11:43 +03:00
empty_string_deserialization.xml fixup 2020-07-02 10:44:16 +03:00
empty_string_serialization.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
encodeXMLComponent.xml fixes 2021-05-13 01:32:53 +03:00
encrypt_decrypt_empty_string_slow.xml Queries are too fast 2020-12-20 12:01:51 +03:00
encrypt_decrypt_empty_string.xml Remove unsupported ciphers 2020-12-17 22:09:27 +03:00
encrypt_decrypt.xml Remove unneeded case 2021-01-23 22:04:45 +03:00
entropy.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
explain_ast.xml Add perf test 2021-11-29 13:09:53 +01:00
extract.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
file_table_function.xml Added performance test 2022-02-12 16:05:35 +00:00
fixed_string16.xml fix more queries 2020-06-26 22:11:43 +03:00
flat_dictionary.xml Added performance tests 2021-10-23 15:01:30 +03:00
float_formatting.xml adjust perf test thresholds 2021-03-26 00:00:18 +03:00
float_mod.xml Add performance test 2020-07-21 13:38:14 +03:00
float_parsing.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
format_date_time.xml fix more queries 2020-06-26 22:11:43 +03:00
format_readable.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
function_calculation_after_sorting_and_limit.xml stash 2022-04-04 14:33:57 +02:00
functions_coding.xml fix more queries 2020-06-26 22:11:43 +03:00
functions_geo.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
functions_with_hash_tables.xml Adjust perf test thresholds 2020-11-27 15:08:42 +03:00
fuse_sumcount.xml Some extra perf tests around sumCount 2021-11-24 11:14:31 +01:00
fuzz_bits.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
general_purpose_hashes_on_UUID.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
general_purpose_hashes.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
generate_table_function.xml Adjust timezone in performance tests 2022-03-11 23:49:13 +01:00
great_circle_dist.xml more 2021-03-29 23:26:06 +03:00
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 fixup! Add groupSortedArray() function 2022-02-15 14:48:20 +01:00
group_by_fixed_keys.xml Improve performance of GROUP BY multiple fixed size keys 2021-02-14 01:56:04 +03:00
group_by_sundy_li.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
h3.xml Performance tests fix H3 2022-02-18 15:57:54 +00:00
has_all.xml Simplified hasAll performance tests 2022-04-04 13:34:40 +02:00
hash_table_sizes_stats.xml Predict size of hash table for GROUP BY (#33439) 2022-03-30 22:47:51 +02:00
hashed_array_dictionary.xml HashedDictionaries added read performance tests 2021-10-25 20:12:29 +03:00
hashed_dictionary.xml HashedDictionaries added read performance tests 2021-10-25 20:12:29 +03:00
if_array_num.xml update perf tests 2021-02-02 17:21:43 +03:00
if_array_string.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
if_string_const.xml fix more queries 2020-06-26 22:11:43 +03:00
if_string_hits.xml fix more queries 2020-06-26 22:11:43 +03:00
if_to_multiif.xml Adjust perf test 2021-01-15 13:22:51 +03:00
if_transform_strings_to_enum.xml Try to make if_transform_strings perf test faster (#12598) 2020-07-21 13:34:55 +03:00
information_value.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
injective_functions_inside_uniq.xml Delete injective functions inside uniq (#12337) 2020-07-10 13:42:41 +03:00
insert_parallel.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
insert_select_default_small_block.xml Add performance test 2020-05-29 05:30:49 +03:00
insert_sequential_and_background_merges.xml Rename test 2020-10-23 13:42:15 +03:00
insert_values_with_expressions.xml Update insert_values_with_expressions.xml 2020-09-22 13:23:10 +03:00
inserts_arrays_lowcardinality.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
int_parsing.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
intDiv.xml Add perf test 2021-04-15 01:35:21 +03:00
ip_trie.xml fix tests 2021-11-03 18:06:19 +03:00
IPv4.xml fix more queries 2020-06-26 22:11:43 +03:00
IPv6.xml fix more queries 2020-06-26 22:11:43 +03:00
jit_aggregate_functions.xml Updated performance tests 2021-08-03 16:19:56 +03:00
jit_large_requests.xml Update jit_large_requests.xml 2021-01-18 14:00:24 +03:00
jit_small_requests.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
join_max_streams.xml Add tests/performance/join_max_streams.xml 2021-07-07 20:51:07 +03:00
joins_in_memory_pmj.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03: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 update thresholds - 1 2021-05-20 17:14:55 +03:00
json_extract_simdjson.xml Adjust perf test 2021-10-24 00:11:28 +03:00
least_greatest_hits.xml fixes 2020-07-09 13:46:16 +03:00
leftpad.xml fixup 2020-07-02 10:44:16 +03:00
linear_regression.xml More robust 2020-08-24 03:14:24 +03:00
local_replica.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
logical_functions_large.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
logical_functions_medium.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
logical_functions_small.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
lot_of_subcolumns.xml Fix perf test 2021-07-17 13:11:50 +03:00
map_populate_series.xml Added additional performance test 2022-02-05 16:11:36 +00:00
materialized_view_parallel_insert.xml Do not use SET via <full_query> in perf tests 2020-11-21 14:02:21 +03:00
math.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
memory_cache_friendliness.xml Add perf test 2021-02-07 05:42:43 +03:00
merge_table_streams.xml Update merge_table_streams.xml 2020-05-23 23:45:28 +03:00
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 Updated tests 2022-03-11 21:16:25 +00:00
merge_tree_many_partitions_2.xml Fixed performance tests 2022-03-15 15:43:39 +00:00
merge_tree_many_partitions.xml Fixed performance tests 2022-03-15 15:43:39 +00:00
merge_tree_simple_select.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
mingroupby-orderbylimit1.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
mmap_io.xml Minor fix in perf test 2021-08-30 00:18:38 +03:00
modulo.xml Fix a rare false negative in perf tests 2021-03-02 19:21:30 +03:00
monotonous_order_by.xml Optimize monotonous ORDER BY (#12467) 2020-07-15 13:10:21 +03:00
ngram_distance.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
nlp.xml Improve NLP performance test 2021-08-05 11:07:31 +00:00
normalize_utf8.xml Add nfd and perf test 2021-09-28 13:42:37 +03:00
number_formatting_formats.xml Fix some perf tests 2022-01-31 21:07:20 +03:00
optimize_window_funnel.xml Update optimize_window_funnel.xml 2021-01-09 05:15:40 +03:00
optimized_select_final_one_part.xml adjust perf test thresholds 2021-03-26 00:00:18 +03:00
optimized_select_final.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
or_null_default.xml adjust perf test thresholds 2021-03-26 00:00:18 +03:00
order_by_decimals.xml more 2021-03-29 23:26:06 +03:00
order_by_read_in_order.xml more 2021-03-29 23:26:06 +03:00
order_by_single_column.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
order_by_tuple.xml Make ORDER BY tuple almost as fast as ORDER BY columns 2022-01-27 21:42:08 +08:00
order_with_limit.xml Merge branch 'master' into remove-useless-setting-from-perf-test 2020-07-14 09:31:34 +03:00
parallel_final.xml Fixed performance tests 2022-03-15 15:43:39 +00:00
parallel_index.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
parallel_insert.xml Do not use SET via <full_query> in perf tests 2020-11-21 14:02:21 +03:00
parallel_mv.xml Disable merges for parallel_mv 2021-10-02 11:54:47 +03:00
parse_engine_file.xml Add Arrow/Parquet/ORC in perf tests 2021-06-15 16:15:27 +03:00
point_in_polygon_const.xml fix more queries 2020-06-26 22:11:43 +03:00
point_in_polygon.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
polymorphic_parts_l.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
polymorphic_parts_m.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
polymorphic_parts_s.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
pre_limit_no_sorting.xml Added performance test to resemble questionable benchmark 2020-06-25 23:40:07 +03:00
prewhere_with_row_level_filter.xml Update prewhere_with_row_level_filter.xml 2021-03-09 11:15:03 +03:00
prewhere.xml Added performance test to resemble questionable benchmark 2020-06-25 23:40:07 +03:00
push_down_limit.xml Make some perf tests faster on slower machines 2020-12-23 05:40:55 +03:00
quantile_merge.xml Marked some perf test queries as short 2020-11-11 19:58:31 +03:00
quantile.xml Fix slow performance test 2021-06-27 18:54:21 +03:00
questdb_sum_float32.xml split 2020-07-07 11:01:50 +03:00
questdb_sum_float64.xml too slow 2020-07-07 20:07:04 +03:00
questdb_sum_int32.xml Trying to have smaller test 2021-11-24 14:13:59 +03:00
rand.xml Try 12 threads max in perf test. 2020-11-09 19:14:05 +03:00
random_fixed_string.xml fixup 2020-07-02 10:44:16 +03:00
random_printable_ascii.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
random_string_utf8.xml more fixes 2020-10-30 18:54:38 +03:00
random_string.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
range_hashed_dictionary.xml Fix performance tests 2022-01-19 10:41:58 +00:00
range.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
read_from_comp_parts.xml Mark query short 2020-07-24 16:59:50 +03:00
read_hits_with_aio.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
read_in_order_many_parts.xml Performance tests fix 2022-03-15 15:43:39 +00:00
README.md Mention scipy dep in performance bench README 2022-02-20 02:43:28 +01:00
redundant_functions_in_order_by.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
reinterpret_as.xml Fix perf test 2021-12-12 04:31:56 +03:00
removing_group_by_keys.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
rewrite_sumIf.xml fix the test 2021-05-15 09:35:00 +03:00
right.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
round_down.xml make the test longer 2020-10-30 18:16:30 +03:00
round_methods.xml fixup 2020-07-02 10:44:16 +03:00
scalar2.xml Fix performance regression of scalar query 2022-04-06 17:50:22 +08:00
scalar.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
select_format.xml Fix possible error 'file_size: Operation not supported' 2022-02-10 09:23:27 +03:00
sequence_match.xml Changing the tests to use mainly test.hits dataset, as hits_10[0]m_single datasets have a slightly different schema 2021-08-27 10:14:17 +02:00
set_hits.xml fixup 2020-06-10 02:37:48 +03:00
set_index.xml Change perf set_index test to check build index 2021-12-23 13:53:36 +01:00
set.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
short_circuit_functions.xml Update tests 2021-08-13 14:55:33 +03:00
simple_join_query.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
single_fixed_string_groupby.xml Fix perf test 2021-05-04 20:31:26 +03:00
slices_hits.xml fix more queries 2020-06-26 22:11:43 +03:00
sort_radix_trivial.xml fix some broken performance tests 2020-05-28 10:45:03 +03:00
sort.xml Add performance test #10981 2020-05-23 17:41:13 +03:00
sparse_column.xml support filtering by sparse columns without convertion to full 2022-02-15 14:30:54 +03:00
split_filter.xml Review fixes. 2021-01-22 16:46:56 +03:00
string_join.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
string_set.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
string_sort.xml speed up some perf tests (for other machines) 2021-01-16 00:15:06 +03:00
string_to_int.xml Safer readInt 2021-05-27 22:56:51 +08:00
subqueries.xml Update subqueries.xml 2021-02-17 12:39:40 +03:00
sum_map.xml perf: add missing DROP TABLE queries 2021-11-03 08:26:52 +03:00
sum.xml Adjust performance test 2021-09-21 22:19:13 +03:00
sumIf.xml Devirtualize -If and vectorize count 2020-12-21 11:35:38 +08:00
synthetic_hardware_benchmark.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
trim_numbers.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
trim_urls.xml fix 2020-11-13 08:00:43 +03:00
trim_whitespace.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
tsv_csv_nullable_parsing.xml Add performance test 2021-10-27 17:29:36 +03:00
uniq.xml Remove unrelated change 2021-08-09 17:54:14 +03:00
url_hits.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
vectorize_aggregation_combinators.xml Added performance test to resemble questionable benchmark 2020-06-25 23:40:07 +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 calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
window_functions.xml Mark window functions ready for general use. 2021-08-04 17:45:32 +03:00
writing_valid_utf8.xml Fix possible error 'file_size: Operation not supported' 2022-02-10 09:23:27 +03:00

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 than you should write your own.

You have to specify preconditions. It contains table names. Only hits_100m_single, hits_10m_single, test.hits are available in CI.

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

Take into account, that these tests will run in CI which consists of 56-cores and 512 RAM machines. Queries will be executed much faster than on local laptop.

If your test continued 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
../../docker/test/performance-comparison/perf.py --runs 1 insert_parallel.xml