ClickHouse/tests/performance
Raúl Marín 50360aa586 Add extra performance tests for Nullable floating point Sum
The existing ones aren't that representative since there isn't
any NULL values, so the branch predictor is correct 100% of the time
2021-09-11 22:37:45 +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
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
aggregation_in_order.xml
aggregation_overflow.xml Add perftest. 2021-03-18 12:38:37 +03: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
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
array_fill.xml
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
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 Add performance test 2021-02-02 12:11:20 +03:00
base64_hits.xml
base64.xml
basename.xml
bigint_arithm.xml Faster 256-bit multiplication (#15418) 2020-09-29 20:52:34 +03:00
bit_operations_fixed_string_numbers.xml
bit_operations_fixed_string.xml
bitCount.xml
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
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
codecs_int_insert.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
codecs_int_select.xml
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
concat_hits.xml
conditional.xml adjust perf test thresholds 2021-03-26 00:00:18 +03:00
consistent_hashes.xml Remove perf test of sumbur hash, because we do not care 2020-11-08 21:17:30 +03:00
constant_column_comparison.xml
constant_column_search.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
count.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
countIf.xml Devirtualize -If and vectorize count 2020-12-21 11:35:38 +08: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 update thresholds - 1 2021-05-20 17:14:55 +03:00
date_time_short.xml speed up some perf tests (for other machines) 2021-01-16 00:15:06 +03:00
datetime_comparison.xml Specialize date time comparision. 2021-08-03 16:49:39 +08:00
decimal_aggregates.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03: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
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
distributed_aggregation_memory_efficient.xml
distributed_aggregation.xml
duplicate_order_by_and_distinct.xml
early_constant_folding.xml
empty_string_deserialization.xml
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
extract.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
fixed_string16.xml
flat_dictionary.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
float_formatting.xml adjust perf test thresholds 2021-03-26 00:00:18 +03:00
float_mod.xml
float_parsing.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
format_date_time.xml
format_readable.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
functions_coding.xml
functions_geo.xml
functions_with_hash_tables.xml Adjust perf test thresholds 2020-11-27 15:08:42 +03:00
fuse_sumcount.xml Update fuse_sumcount.xml 2021-04-16 13:36:52 +03: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 update thresholds - 1 2021-05-20 17:14:55 +03: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_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
hashed_dictionary.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +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
if_string_hits.xml
if_to_multiif.xml Adjust perf test 2021-01-15 13:22:51 +03:00
if_transform_strings_to_enum.xml
information_value.xml
injective_functions_inside_uniq.xml
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
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 Regenerate ya.make, add format null to ip_trie.xml 2020-11-24 11:20:11 +03:00
IPv4.xml
IPv6.xml
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 calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
least_greatest_hits.xml
leftpad.xml
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
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
merge_tree_huge_pk.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
merge_tree_many_partitions_2.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
merge_tree_many_partitions.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03: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
ngram_distance.xml
nlp.xml Improve NLP performance test 2021-08-05 11:07:31 +00:00
number_formatting_formats.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +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_with_limit.xml
parallel_final.xml
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 update thresholds - 1 2021-05-20 17:14:55 +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
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
prewhere_with_row_level_filter.xml Update prewhere_with_row_level_filter.xml 2021-03-09 11:15:03 +03:00
prewhere.xml
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
questdb_sum_float64.xml
questdb_sum_int32.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
rand.xml Try 12 threads max in perf test. 2020-11-09 19:14:05 +03:00
random_fixed_string.xml
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.xml Adjust ignored perf test changes after NUMA binding 2020-10-30 18:12:15 +03:00
read_from_comp_parts.xml
read_hits_with_aio.xml
read_in_order_many_parts.xml update perf tests 2021-02-02 17:21:43 +03:00
README.md Update instruction for perf tests 2020-08-26 20:34:05 +03:00
redundant_functions_in_order_by.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
reinterpret_as.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +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
round_down.xml make the test longer 2020-10-30 18:16:30 +03:00
round_methods.xml
scalar.xml
select_format.xml Add Arrow/Parquet/ORC in perf tests 2021-06-15 16:15: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
set_index.xml fix test killed by github 2021-05-27 12:57:08 +03: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
single_fixed_string_groupby.xml Fix perf test 2021-05-04 20:31:26 +03:00
slices_hits.xml
sort_radix_trivial.xml
sort.xml
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 calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
sum.xml Add extra performance tests for Nullable floating point Sum 2021-09-11 22:37:45 +02: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
trim_urls.xml fix 2020-11-13 08:00:43 +03:00
trim_whitespace.xml
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
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

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