ClickHouse/tests/performance
Ruslan 23cd919681
Any input optimize (#11529)
* workig commit №1

* working commit №2

* first version of ArithmeticOperationsInAgrFuncOptimize (min, max, sum)

* fix conflicts

* fix №2

* attempt №3

* Description + little mistake

* fix style + expanded optimization + add performance test

* style + merge with new version

* one more branch

* bug fix + merge

* just merge

* some code style and logic fixes

* little changes

* tests

* test(2)

* style

* seems to have fixed everything that was required

* bug fix

* style

* build fix

* fix typo

* fix clang-10 warning

* fix clang-10 warning

* nolint

* add new files to ya.make

* extract all functions from Any

* add last new lines.

* extract all functions from Any

* add last new lines.

* build + requested changes

* code style

* build + little perf test + anyLast

* minor changes

* bug fix

* minor changes

* another minor changes

* fix + experement

* experement 2.0

* experement 3.0

* experement 3.1

* experement 4.0

* last experement(think so)

* just another attempt to fix UB

* minor changes

* I think I won

* ya.make

* fix requested changes

Co-authored-by: Artem Zuikov <chertus@gmail.com>
2020-06-18 19:34:29 +03:00
..
agg_functions_min_max_any.xml fixup 2020-06-09 01:13:08 +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.xml Update aggregating_merge_tree.xml 2020-06-09 01:41:57 +03:00
aggregation_in_order.xml better test 2020-05-31 03:00:16 +03:00
analyze_array_tuples.xml Performance comparison fixes 2020-04-02 21:44:58 +03:00
and_function.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
any_anyLast.xml Any input optimize (#11529) 2020-06-18 19:34:29 +03:00
arithmetic_operations_in_aggr_func.xml fixup 2020-06-09 01:13:08 +03:00
arithmetic.xml Mark some performance tests with very high variance 2020-05-07 00:52:03 +03:00
array_auc.xml Remove garbage from performance tests 2020-04-18 15:54:16 +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_join.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
array_reduce.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03: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
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.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
bounding_ratio.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
cidr.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
codecs_float_insert.xml Fix performance test errors 2020-05-09 04:28:31 +03:00
codecs_float_select.xml Fix performance test errors 2020-05-09 04:28:31 +03:00
codecs_int_insert.xml More stable perf tests 2020-06-08 16:57:33 +03:00
codecs_int_select.xml Fix error in performance test 2020-05-07 00:57:26 +03:00
collations.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
column_column_comparison.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
columns_hashing.xml Fix long tests, part 2 2020-05-24 23:35:49 +03:00
complex_array_creation.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
concat_hits.xml Performance comparison fixes 2020-04-02 21:44:58 +03:00
conditional.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
consistent_hashes.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
constant_column_comparison.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
constant_column_search.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
count.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
cpu_synthetic.xml fixup 2020-06-09 01:13:08 +03:00
cryptographic_hashes.xml performance comparison 2020-05-19 18:28:03 +03:00
date_parsing.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
date_time_64.xml Edited strange test 2020-05-23 17:53:54 +03:00
date_time.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
decimal_aggregates.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
decimal_parse.xml Added performance test 2020-05-17 06:16:34 +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 Remove duplicate ORDER BY and DISTINCT from subqueries (#10067) 2020-06-15 15:03:01 +03:00
early_constant_folding.xml Edited strange test 2020-05-23 17:53:54 +03:00
empty_string_deserialization.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
empty_string_serialization.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
entropy.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
extract.xml extractAllGroupsHorizontal and extractAllGroupsVertical 2020-06-11 11:03:17 +03:00
first_significant_subdomain.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
fixed_string16.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
float_formatting.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
float_parsing.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
format_date_time.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
functions_coding.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
functions_geo.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
functions_with_hash_tables.xml Update functions_with_hash_tables.xml 2020-05-27 10:58:29 +03:00
fuzz_bits.xml fix issues 2020-05-29 05:06:21 +03:00
general_purpose_hashes_on_UUID.xml performance comparison 2020-04-30 08:10:34 +03:00
general_purpose_hashes.xml performance comparison 2020-04-30 08:10:34 +03:00
generate_table_function.xml Fixup 2020-06-10 01:52:25 +03:00
great_circle_dist.xml Adjust thresholds in perf test 2020-05-11 00:31:01 +03:00
group_array_moving_sum.xml performance comparison 2020-04-29 09:30:37 +03:00
h3.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
if_array_num.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
if_array_string.xml performance comparison 2020-04-28 10:45:56 +03:00
if_string_const.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
if_string_hits.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
if_to_multiif.xml Fix another strange test 2020-05-23 17:56:35 +03:00
information_value.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
insert_select_default_small_block.xml Add performance test 2020-05-29 05:30:49 +03:00
insert_values_with_expressions.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
inserts_arrays_lowcardinality.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
int_parsing.xml fixup 2020-06-09 16:29:07 +03:00
IPv4.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
IPv6.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
jit_large_requests.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
jit_small_requests.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
joins_in_memory_pmj.xml Buffer left blocks optimisation for MergeJoin (#10601) 2020-06-16 23:13:18 +03:00
joins_in_memory.xml performance comparison 2020-04-29 09:30:37 +03:00
json_extract_rapidjson.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
json_extract_simdjson.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
least_greatest_hits.xml Added performance test 2020-04-18 15:35:00 +03:00
leftpad.xml fix some broken performance tests 2020-05-28 10:45:03 +03:00
linear_regression.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
logical_functions_large.xml performance comparison 2020-05-19 18:28:03 +03:00
logical_functions_medium.xml performance comparison 2020-05-19 18:28:03 +03:00
logical_functions_small.xml performance comparison 2020-05-19 18:28:03 +03:00
materialized_view_parallel_insert.xml Update materialized_view_parallel_insert.xml 2020-04-18 15:41:15 +03:00
math.xml performance comparison 2020-04-28 10:45:56 +03:00
merge_table_streams.xml Update merge_table_streams.xml 2020-05-23 23:45:28 +03:00
merge_tree_huge_pk.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
merge_tree_many_partitions_2.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
merge_tree_many_partitions.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
merge_tree_simple_select.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
mingroupby-orderbylimit1.xml performance comparison 2020-05-19 18:28:03 +03:00
modulo.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
ngram_distance.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
number_formatting_formats.xml fixup 2020-06-09 01:13:08 +03:00
nyc_taxi.xml Edited strange test 2020-05-23 17:53:54 +03:00
order_by_decimals.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
order_by_read_in_order.xml Edited strange test 2020-05-23 17:53:54 +03:00
order_by_single_column.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
parallel_final.xml Try make tests faster. 2020-04-30 20:58:09 +03:00
parallel_insert.xml Edited strange test 2020-05-23 17:53:54 +03:00
parallel_mv.xml Update test. 2020-06-01 12:12:03 +03:00
parse_engine_file.xml performance comparison 2020-04-30 08:10:34 +03:00
point_in_polygon_const.xml Added performance test for point in const polygon 2020-05-22 22:03:30 +03:00
point_in_polygon.xml fixup 2020-06-09 01:13:08 +03:00
polymorphic_parts.xml add perf test for different part types 2020-05-06 18:52:56 +03:00
pre_limit_no_sorting.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
prewhere.xml Edited strange test 2020-05-23 17:53:54 +03:00
random_fixed_string.xml Added function randomFixedString 2020-05-13 01:48:55 +03:00
random_printable_ascii.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
random_string_utf8.xml Fix too long perf test. 2020-05-21 09:49:15 +03:00
random_string.xml fix and performance test template 2020-05-10 22:07:02 +03:00
range.xml Mark some performance tests with very high variance 2020-05-07 00:52:03 +03:00
read_hits_with_aio.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
README.md Fix readme in performance tests #10345 2020-04-18 15:44:46 +03:00
removing_group_by_keys.xml Remove functions of other keys in GROUP BY section (#10051) 2020-06-16 12:14:25 +03:00
right.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
round_down.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
round_methods.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
scalar.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
select_format.xml performance comparison 2020-04-30 08:10:34 +03:00
set_hits.xml fixup 2020-06-10 02:37:48 +03:00
set_index.xml fixup 2020-06-10 02:57:31 +03:00
set.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
simple_join_query.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
slices_hits.xml Remove garbage from performance tests 2020-04-18 15:54:16 +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
string_join.xml Edited strange test 2020-05-23 17:53:54 +03:00
string_set.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
string_sort.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
sum_map.xml renames + perf test 2020-06-15 21:53:54 +03:00
sum.xml Add performance test 2020-05-18 07:55:06 +03:00
synthetic_hardware_benchmark.xml Raised threshold for one of tests 2020-05-09 04:42:52 +03:00
trim_numbers.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
trim_urls.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
trim_whitespace.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
uniq.xml performance comparison 2020-04-23 23:19:04 +03:00
url_hits.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
vectorize_aggregation_combinators.xml Remove garbage from performance tests 2020-04-18 15:54:16 +03:00
visit_param_extract_raw.xml performance comparison 2020-04-28 10:45:56 +03:00
website.xml fixup 2020-06-09 01:13:08 +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