Alexander Kuzmenkov
15a0f14445
Merge pull request #15419 from myrrc/improvement/diff-types-in-avg-weighted
...
Allow different types in avgWeighted. Allow avg and avgWeighed to operate on extended integral types.
2020-11-26 17:16:48 +03:00
Nikolai Kochetov
729272391f
Merge branch 'master' into ip-dict-no-trie
2020-11-25 23:07:19 +03:00
Azat Khuzhin
688cb6b4d9
Update date_time_short perf test for toUnixTimestamp(Date())
2020-11-25 21:17:11 +03:00
myrrc
420f2489a7
fixed decimal scales calc, updated the tests
2020-11-24 17:07:59 +03:00
myrrc
fbb0e6e6aa
Merge remote-tracking branch 'upstream/master' into improvement/diff-types-in-avg-weighted
2020-11-24 16:04:17 +03:00
vdimir
52bc290616
Regenerate ya.make, add format null to ip_trie.xml
2020-11-24 11:20:11 +03:00
Azat Khuzhin
8931d3eb6f
Do not use SET via <full_query> in perf tests
...
Since if the connection will be closed (by some reason), then the
setting will not be applied after transparent reconnect (since only
native clickhouse-client can do this, since it parses the query, but
perf tests uses python driver).
Just use inplace SETTINGS clause or <settings>.
2020-11-21 14:02:21 +03:00
Azat Khuzhin
a3116d5614
Tune aggregating_merge_tree_simple_aggregate_function_string to make it faster
2020-11-21 12:08:59 +03:00
Azat Khuzhin
35231662b3
Improve performance of AggregatingMergeTree w/ SimpleAggregateFunction(String)
...
While reading from AggregatingMergeTree with
SimpleAggregateFunction(String) in primary key and
optimize_aggregation_in_order perf top shows:
Samples: 1M of event 'cycles', 4000 Hz, Event count (approx.): 287759760270 lost: 0/0 drop: 0/0
Children Self Shared Object Symbol
+ 12.64% 11.39% clickhouse [.] memcpy
+ 9.08% 0.23% [unknown] [.] 0000000000000000
+ 8.45% 8.40% clickhouse [.] ProfileEvents::increment # <-- this, and in debug it has not 0.08x overhead, but 5.8x overhead
+ 7.68% 7.67% clickhouse [.] LZ4_compress_fast_extState
+ 5.29% 5.22% clickhouse [.] DB::IAggregateFunctionHelper<DB::AggregateFunctionNullUnary<true, true> >::addFree
The reason is obvious, ProfileEvents is atomic counters (and also they
are nested):
<details>
```
Samples: 7M of event 'cycles', 4000 Hz, Event count (approx.): 450726149337
ProfileEvents::increment /usr/bin/clickhouse [Percent: local period]
Percent│
│
│
│ Disassembly of section .text:
│
│ 00000000078d8900 <ProfileEvents::increment(unsigned long, unsigned long)@@Base>:
│ ProfileEvents::increment(unsigned long, unsigned long):
0.17 │ push %rbp
0.00 │ mov %rsi,%rbp
0.04 │ push %rbx
0.20 │ mov %rdi,%rbx
0.17 │ sub $0x8,%rsp
0.26 │ → callq DB::CurrentThread::getProfileEvents
│ ProfileEvents::Counters::increment(unsigned long, unsigned long):
0.00 │ lea 0x0(,%rbx,8),%rdi
0.05 │ nop
│ unsigned long std::__1::__cxx_atomic_fetch_add<unsigned long, unsigned long>(std::__1::__cxx_atomic_base_impl<unsigned long>*, unsigned long, std::__1::memory_order):
1.02 │ mov (%rax),%rdx
97.04 │ lock add %rbp,(%rdx,%rdi,1)
│ ProfileEvents::Counters::increment(unsigned long, unsigned long):
0.21 │ mov 0x10(%rax),%rax
0.04 │ test %rax,%rax
0.00 │ → jne 78d8920 <ProfileEvents::increment(unsigned long, unsigned long)@@Base+0x20>
│ ProfileEvents::increment(unsigned long, unsigned long):
0.38 │ add $0x8,%rsp
0.00 │ pop %rbx
0.04 │ pop %rbp
0.38 │ ← retq
```
</details>
These ProfileEvents was ArenaAllocChunks (it shows ~1.5M events per
second), and the reason is that the table has
SimpleAggregateFunction(String) in PK, which requires Arena.
But most of the time there Arena wasn't even used, so avoid this cost by
re-creating Arena only if it was "used" (i.e. has new chunks).
Another possibility is to avoid populating Arena::head in ctor, but this
will make the Arena code more complex, so for now this was preferred.
Also as a long-term solution it worth looking at implementing them via
RCU (to move the extra overhead out from the write code path into read
side).
2020-11-19 23:06:12 +03:00
vdimir
36544a45b7
Merge remote-tracking branch 'upstream/master' into ip-dict-no-trie
2020-11-19 18:56:24 +03:00
alesapin
cdceafdd89
Trying to make read_in_order_many_parts more stable
2020-11-19 13:25:39 +03:00
myrrc
dbc5284b73
replaced Memory by MergeTree in the test to get perftests
2020-11-18 12:51:02 +03:00
vdimir
6dcb38db3f
Minor changes in IP dictionary
2020-11-16 21:08:31 +03:00
Alexander Kuzmenkov
b0e660651a
cleanup
2020-11-16 19:09:58 +03:00
vdimir
5e0e22301b
Slightly improve ip_dict loading performance, handle v4 to v6 masks in prepossessing, add more tests
2020-11-15 18:55:34 +03:00
vdimir
ca8e4b1607
Minor fixes of ip dict
2020-11-14 20:03:13 +03:00
myrrc
b1c0089b78
Merge remote-tracking branch 'upstream/master' into improvement/diff-types-in-avg-weighted
2020-11-14 16:50:04 +03:00
Alexander Kuzmenkov
e4dd68039e
fix
2020-11-13 08:00:43 +03:00
myrrc
a8d8dd7d3e
Merge remote-tracking branch 'upstream/master' into improvement/diff-types-in-avg-weighted
2020-11-12 14:50:59 +03:00
Alexander Kuzmenkov
0d10a4990e
fix
2020-11-12 11:27:33 +03:00
Alexander Kuzmenkov
91f88c79f9
Merge remote-tracking branch 'origin/master' into HEAD
2020-11-12 11:20:09 +03:00
Alexey Milovidov
f1d721fa74
Marked some perf test queries as short
2020-11-11 19:58:31 +03:00
Alexander Kuzmenkov
f31d7869ac
Merge remote-tracking branch 'origin/master' into HEAD
2020-11-11 14:51:35 +03:00
Alexander Kuzmenkov
906b338a1d
fixes
2020-11-11 14:51:21 +03:00
Danila Kutenin
c36e6fe378
Fix tests finally
2020-11-10 18:22:59 +03:00
Danila Kutenin
c0308a5d85
Fix tests, I cannot count number of zeros sometimes
2020-11-10 18:21:39 +03:00
Danila Kutenin
847fa9ca3c
Merge
2020-11-10 18:15:26 +03:00
Danila Kutenin
8504efde77
Merge
2020-11-10 18:12:49 +03:00
Danila Kutenin
2057198779
Fix performance tests that became very fast
2020-11-10 17:58:05 +03:00
myrrc
e460248624
Merge remote-tracking branch 'upstream/master' into improvement/diff-types-in-avg-weighted
2020-11-10 14:54:24 +03:00
Alexander Kuzmenkov
84fb76bad4
fixes
2020-11-10 07:19:43 +03:00
Alexander Kuzmenkov
030419db90
Try 12 threads max in perf test.
...
This will allow us to use more machines, not only Gold 6320.
2020-11-09 19:14:05 +03:00
alexey-milovidov
e47ed55d32
Merge pull request #14977 from achimbab/indexOf_bloomfilter
...
Fix indexOf() to use BloomFilter
2020-11-09 17:58:42 +03:00
alexey-milovidov
2994499680
Update bloom_filter_select.xml
2020-11-09 17:58:27 +03:00
Alexey Milovidov
ff906369ea
Adjust time for perf test
2020-11-08 23:22:50 +03:00
vdimir
81671ceb39
Add tests/performance/ip_trie.xml [wip]
2020-11-08 21:32:22 +03:00
Alexey Milovidov
f07988eec7
Remove perf test of sumbur hash, because we do not care
2020-11-08 21:17:30 +03:00
Alexey Milovidov
7257a5c3d2
Fix perf tests
2020-11-08 16:55:36 +03:00
Alexey Milovidov
f4178dd91f
Fix perf tests
2020-11-08 16:55:26 +03:00
alexey-milovidov
c7aa0c851a
Update bloom_filter.xml
2020-11-08 16:51:45 +03:00
alexey-milovidov
d96914b044
Update bloom_filter.xml
2020-11-08 16:51:03 +03:00
Alexey Milovidov
cc012e2cc7
Merge branch 'master' into achimbab-indexOf_bloomfilter
2020-11-08 14:42:03 +03:00
Alexey Milovidov
990f8a23ab
Translate comments to english
2020-11-05 21:51:36 +03:00
alexey-milovidov
ee3e289ec2
Merge pull request #15983 from ClickHouse/no_background_pool_no_more
...
Replace BackgroundProcessingPool with SchedulePool task and ThreadPool.
2020-11-05 21:38:22 +03:00
myrrc
ddd40fc4ce
fixed the perf test
2020-11-05 12:20:05 +03:00
myrrc
9788065786
Merge remote-tracking branch 'upstream/master' into improvement/diff-types-in-avg-weighted
2020-11-05 08:44:37 +03:00
alexey-milovidov
dbdff0d779
Merge pull request #16661 from ClickHouse/optimize-or-fill
...
Optimize -OrNull and -OrDefault aggregate functions by providing specializations
2020-11-04 23:37:11 +03:00
alexey-milovidov
ca0037d18b
Update group_by_sundy_li.xml
2020-11-04 18:07:18 +03:00
myrrc
43b2d20314
updated the decimal template magic
2020-11-04 16:14:07 +03:00
myrrc
3d70ab7f3b
Merge remote-tracking branch 'upstream/master' into improvement/diff-types-in-avg-weighted
2020-11-04 14:29:59 +03:00
Alexey Milovidov
e0d962a3cf
Add a test for #8772
2020-11-04 14:22:02 +03:00
Alexey Milovidov
938ef62532
Add a test
2020-11-04 14:00:43 +03:00
Alexey Milovidov
fdd7f31cf7
Add a test
2020-11-03 23:28:23 +03:00
myrrc
5c6bd218ad
adjusted the perftest
2020-11-03 18:01:29 +03:00
myrrc
fcbc0fb91e
added specialized performance test
2020-11-03 16:12:27 +03:00
Anton Popov
a3a8e18637
Merge branch 'master' into select_final
2020-11-03 00:00:43 +03:00
alesapin
101aa9e931
Merge branch 'master' into no_background_pool_no_more
2020-11-02 10:49:19 +03:00
Alexander Kuzmenkov
e15a8d5ac0
fixup
2020-10-30 21:03:07 +03:00
Alexander Kuzmenkov
7e76b7b510
more fixes
2020-10-30 18:54:38 +03:00
Alexander Kuzmenkov
38726847fc
make the test longer
2020-10-30 18:16:30 +03:00
Alexander Kuzmenkov
3529100da9
Adjust ignored perf test changes after NUMA binding
2020-10-30 18:12:15 +03:00
Anton Popov
48185d437a
Update optimized_select_final.xml
2020-10-30 17:48:59 +03:00
Anton Popov
9f0f981642
Update optimized_select_final.xml
2020-10-29 14:03:50 +03:00
Pavel Kruglov
4592c5e59b
Add OPTIMIZE in perf test
2020-10-27 14:42:26 +03:00
alesapin
d5d0819698
Merge branch 'master' into no_background_pool_no_more
2020-10-26 12:58:51 +03:00
alesapin
84dbbdb312
Rename test
2020-10-23 13:42:15 +03:00
alesapin
166b3de466
Make insert test faster
2020-10-23 13:31:33 +03:00
Pavel Kruglov
0274c9e9eb
Add perf test
2020-10-23 12:05:57 +03:00
alesapin
7a63b373f9
Merge branch 'blind_fix_of_read_in_order' into no_background_pool_no_more
2020-10-22 15:47:11 +03:00
Alexander Kuzmenkov
6293d1dbbe
Merge remote-tracking branch 'origin/master' into HEAD
2020-10-21 18:39:59 +03:00
Alexander Kuzmenkov
242ec7e56c
make some tests faster
2020-10-20 15:12:06 +03:00
Vasily Nemkov
1cf9781d4e
AES: Attempt to make performance tests faster and more stable.
2020-10-20 08:05:39 +03:00
Vasily Nemkov
4124538b56
Merge remote-tracking branch 'upstream/master' into AES_encrypt_decrypt
2020-10-18 00:00:13 +03:00
alesapin
60d14352f8
Merge branch 'master' into no_background_pool_no_more
2020-10-15 16:34:14 +03:00
alexey-milovidov
1d309c34c8
Merge pull request #15497 from filipecaixeta/master
...
Add an SQL function formatReadableTimeDelta to format time delta
2020-10-14 22:36:57 +03:00
Alexander Kuzmenkov
cb15e72229
make some perf tests slower
2020-10-14 18:39:27 +03:00
Vasily Nemkov
a6f36fc53b
Performance tests for encrypt and decrypt functions
2020-10-14 16:33:07 +03:00
alesapin
163d33fd21
Add perftest for merges
...
(cherry picked from commit e655f009d2
)
2020-10-13 15:12:28 +03:00
Alexey Milovidov
905bb859a5
Add performance test
2020-10-11 18:25:29 +03:00
Artem Zuikov
4fd1db73a1
Faster 256-bit multiplication ( #15418 )
2020-09-29 20:52:34 +03:00
Alexander Kuzmenkov
8cbfd69adf
Update decimal_casts.xml
2020-09-24 11:35:35 +03:00
Alexander Kuzmenkov
9b29e31d64
Merge remote-tracking branch 'origin/master' into HEAD
2020-09-23 23:58:43 +03:00
alexey-milovidov
3bc09bb867
Merge pull request #15178 from amosbird/dtcf
...
Fix performance issue when doing datetime comparison
2020-09-23 20:33:23 +03:00
Alexander Kuzmenkov
9f137e77e7
Update decimal_casts.xml
2020-09-23 18:41:52 +03:00
Alexander Kuzmenkov
d2427a121f
Update decimal_casts.xml
2020-09-23 10:15:51 +03:00
Amos Bird
ee45395942
Fix datetime comparison
2020-09-23 10:29:55 +08:00
Artem Zuikov
f80ffc4dce
restore decimal_casts perf test
2020-09-22 18:56:24 +03:00
Alexander Kuzmenkov
4937159f85
Merge pull request #14990 from ClickHouse/aku/longer-perf
...
If perf test definition changed, run everything + longer (as in master)
2020-09-22 13:25:49 +03:00
Alexander Kuzmenkov
e646aa306f
Update columns_hashing.xml
2020-09-22 13:25:16 +03:00
Alexander Kuzmenkov
ba12e68d70
Update insert_values_with_expressions.xml
2020-09-22 13:23:10 +03:00
Alexander Kuzmenkov
4dae587e2d
fix test
2020-09-21 15:02:34 +03:00
Alexander Kuzmenkov
85be1f1685
Merge remote-tracking branch 'origin/master' into HEAD
2020-09-21 14:57:25 +03:00
alexey-milovidov
a4337635cc
Update single_fixed_string_groupby.xml
2020-09-20 19:42:11 +03:00
philip.han
2045bc9f8c
Fix performance_test for bloom_filter
2020-09-20 19:06:46 +09:00
Amos Bird
8ca4d6634e
better fixed string group by support
2020-09-20 15:20:09 +08:00
Alexander Kuzmenkov
e7b9319e12
If perf test definition changed, run everything + longer (as in master)
...
Also some other perf test fixes
2020-09-18 16:28:46 +03:00
philip.han
cbedd44a60
Fix indexOf() to use BloomFilter
2020-09-18 17:43:07 +09:00
Alexander Kuzmenkov
36538ce08f
Don't account for short queries, we'll deal with them separately.
...
New query:
```
WITH ceil(max(q[3]), 1) AS h
SELECT concat('sed -i s\'/^<test.*$/<test max_ignored_relative_change="', toString(h), '">/g\' tests/performance/', test, '.xml') AS s
FROM
(
SELECT
test,
query_index,
count(*),
min(event_time),
max(event_time) AS t,
arrayMap(x -> floor(x, 3), quantiles(0, 0.5, 0.95, 1)(stat_threshold)) AS q,
median(stat_threshold) AS m
FROM perftest.query_metrics
WHERE (metric = 'client_time') AND (abs(diff) < 0.05) AND (old > 0.2)
GROUP BY
test,
query_index,
query_display_name
HAVING (t > '2020-09-01 00:00:00') AND (m > 0.1)
ORDER BY test DESC
)
GROUP BY test
ORDER BY h DESC
FORMAT PrettySpace
```
2020-09-17 13:00:51 +03:00
Alexander Kuzmenkov
0f8aec59a3
Adjust ignore thresholds for unstable perf tests
...
Based on historical data.
```
SELECT
test,
ceil(max(q[3]), 1) AS h
FROM
(
SELECT
test,
query_index,
count(*),
min(event_time),
max(event_time) AS t,
arrayMap(x -> floor(x, 3), quantiles(0, 0.5, 0.95, 1)(stat_threshold)) AS q,
median(stat_threshold) AS m
FROM perftest.query_metrics
WHERE (metric = 'client_time') AND (abs(diff) < 0.05)
GROUP BY
test,
query_index,
query_display_name
HAVING (t > '2020-09-01 00:00:00') AND (m > 0.1)
ORDER BY m DESC
)
GROUP BY test
ORDER BY h DESC
FORMAT TSV
cryptographic_hashes 1.3
collations 0.8
joins_in_memory_pmj 0.8
joins_in_memory 0.7
merge_tree_simple_select 0.7
set_index 0.7
decimal_casts 0.7
website 0.6
logical_functions_medium 0.5
count 0.5
merge_tree_many_partitions 0.5
decimal_aggregates 0.5
codecs_int_insert 0.5
column_column_comparison 0.5
insert_parallel 0.4
parse_engine_file 0.4
read_in_order_many_parts 0.4
logical_functions_small 0.4
parallel_insert 0.3
parallel_index 0.3
push_down_limit 0.3
jit_large_requests 0.3
select_format 0.3
arithmetic 0.3
merge_tree_huge_pk 0.3
materialized_view_parallel_insert 0.3
columns_hashing 0.3
if_array_string 0.3
random_string 0.2
random_printable_ascii 0.2
set 0.2
empty_string_serialization 0.2
```
To apply:
```
sed 's/^\(.*\) \(.*\)$/sed -i "s\/^<test.*$\/<test max_ignored_relative_change="'"'"\2">\/g" tests\/performance\/\1.xml/g' ../bad.tsv | bash
```
2020-09-16 18:27:51 +03:00
Alexander Kuzmenkov
9e3797b252
Merge pull request #14710 from ClickHouse/aku/faster-perf
...
Do less runs in perf test
2020-09-14 19:17:34 +03:00