Commit Graph

294 Commits

Author SHA1 Message Date
Alexey Milovidov
8af3b9db2d Merge branch 'enable-jit-for-aggregation-without-key' of github.com:kitaisreal/ClickHouse into kitaisreal-enable-jit-for-aggregation-without-key 2024-01-02 22:01:59 +01:00
Anton Popov
10bc2db56d add setting 2023-12-18 13:57:07 +00:00
Anton Popov
5faf5e913e slightly faster and perf test 2023-12-16 03:35:59 +00:00
Anton Popov
a226c75717 optimize usage of consecutive keys optimization 2023-12-15 16:58:45 +00:00
Anton Popov
5630115faa optimize aggregation by large ranges of equal keys 2023-12-14 15:38:01 +00:00
Maksim Kita
8b5e6af689 Fixed tests 2023-12-01 13:45:57 +03:00
Maksim Kita
8bc7dbc8f7 Enable JIT compilation for aggregation without key 2023-12-01 13:45:57 +03:00
Raúl Marín
80cc1b3a17 Remove addBatchSinglePlaceFromInterval 2023-11-27 23:12:17 +01:00
Alexey Milovidov
84f669c113 Fix error 2023-11-22 12:13:47 +01:00
Alexey Milovidov
d56cbda185 Add metrics for the number of queued jobs, which is useful for the IO thread pool 2023-11-18 19:07:59 +01:00
Robert Schulze
50cd59a72b
Remove default value for argument 'ignore_aliases' from IAST::getTreeHash() 2023-11-13 10:27:38 +00:00
Alexey Milovidov
3631e476eb
Merge pull request #54947 from amosbird/minmax-combinator
Introduce -ArgMin/-ArgMax combinators.
2023-10-30 03:35:28 +01:00
Alexey Milovidov
7ec4b99e94 Revert partial result 2023-10-21 03:14:22 +02:00
Amos Bird
51f603bdfc
Rename as suggested. 2023-09-28 15:11:56 +08:00
Amos Bird
056b2693a3
Reorganize combinators into dedicated folder 2023-09-28 15:11:55 +08:00
avogar
a075d03f01 Fix 2023-09-15 14:28:25 +00:00
Kruglov Pavel
2075f9c667
Merge branch 'master' into group-by-constant-keys 2023-09-15 15:10:08 +02:00
Nikolai Kochetov
9b936c44db
Revert "Revert "Add settings for real-time updates during query execution"" 2023-09-09 12:29:39 +02:00
Alexey Milovidov
03a755732a
Revert "Add settings for real-time updates during query execution" 2023-09-09 03:10:23 +03:00
Kruglov Pavel
5b29640b22
Merge branch 'master' into group-by-constant-keys 2023-09-06 18:06:51 +02:00
alexX512
b3ba00f443 Merge branch 'master' of github.com:ClickHouse/ClickHouse 2023-08-29 10:59:29 +00:00
Nikolai Kochetov
a47ae631bd
Merge pull request #53589 from kitaisreal/aggregator-merge-states-in-batch
Experiment Aggregator merge and destroy states in batch
2023-08-28 15:46:49 +02:00
Maksim Kita
f0f2d416dd Aggregator merge and destroy states in batch 2023-08-24 15:34:32 +03:00
avogar
59ca2374b5 Better 2023-08-23 19:39:45 +00:00
avogar
93ba73715a Merge branch 'master' of github.com:ClickHouse/ClickHouse into group-by-constant-keys 2023-08-23 18:47:42 +00:00
Robert Schulze
46b4f03669
Some renamings for more consistency
weight() --> sizeInBytes()
maxSize() --> maxSizeInBytes()
setMaxSize() --> setMaxSizeInBytes()
2023-08-22 10:48:03 +00:00
avogar
0da8fe2793 Add missing constexpr 2023-08-18 13:22:36 +00:00
avogar
aac5131859 Fix for no_more_keys 2023-08-18 13:21:16 +00:00
avogar
7fa72f5cdf Optimize group by constant keys 2023-08-18 12:47:26 +00:00
alexX512
080b4badbd Support partial result for aggregating transform during query execution 2023-08-07 15:58:14 +00:00
ltrk2
27a2d4d1c7
Merge branch 'master' into feature/mergetree-checksum-big-endian-support 2023-08-02 11:36:43 -04:00
Nikita Taranov
2cbe79b529
Fix memory consumption when max_block_size is huge in Aggregator + more memory checks (#51566)
* impl

* remove checks from without_key methods

* maybe will improve smth

* add test

* Update 02797_aggregator_huge_mem_usage_bug.sql

* Update 02797_aggregator_huge_mem_usage_bug.sql

---------

Co-authored-by: Alexey Milovidov <milovidov@clickhouse.com>
2023-08-02 15:11:52 +02:00
ltrk2
6c9a1b14ef
Merge branch 'master' into feature/mergetree-checksum-big-endian-support 2023-07-28 16:18:46 -04:00
Jiebin Sun
78f3a575f9
Convert hashSets in parallel before merge (#50748)
* Convert hashSets in parallel before merge

Before merge, if one of the lhs and rhs is singleLevelSet and the other is twoLevelSet,
then the SingleLevelSet will call convertToTwoLevel(). The convert process is not in parallel
and it will cost lots of cycle if it cosume all the singleLevelSet.

The idea of the patch is to convert all the singleLevelSets to twoLevelSets in parallel if
the hashsets are not all singleLevel or not all twoLevel.

I have tested the patch on Intel 2 x 112 vCPUs SPR server with clickbench and latest upstream
ClickHouse.
Q5 has got a big 264% performance improvement and 24 queries have got at least 5% performance
gain. The overall geomean of 43 queries has gained 7.4% more than the base code.

Signed-off-by: Jiebin Sun <jiebin.sun@intel.com>

* add resize() for the data_vec in parallelizeMergePrepare()

Signed-off-by: Jiebin Sun <jiebin.sun@intel.com>

* Add the performance test prepare_hash_before_merge.xml

Signed-off-by: Jiebin Sun <jiebin.sun@intel.com>

* Fit the CI to rename the data set from hits_v1 to test.hits.

Signed-off-by: Jiebin Sun <jiebin.sun@intel.com>

* remove the redundant branch in UniqExactSet

Co-authored-by: Nikita Taranov <nickita.taranov@gmail.com>

* Remove the empty methods and add throw exception in parallelizeMergePrepare()

Signed-off-by: Jiebin Sun <jiebin.sun@intel.com>

---------

Signed-off-by: Jiebin Sun <jiebin.sun@intel.com>
Co-authored-by: Nikita Taranov <nickita.taranov@gmail.com>
2023-07-27 15:06:34 +02:00
Nikita Taranov
04180549b0
Fix possible double-free in Aggregator (#52439) 2023-07-26 13:15:58 +02:00
ltrk2
6b96a3943d Update further uses of SipHash 2023-07-19 10:01:58 -07:00
Maksim Kita
e9840bc6e1 JIT aggregation nullable key fix 2023-05-28 21:05:17 +03:00
Li Shuai
279970337a Fix all key value is null and group use rollup return wrong answer 2023-05-04 11:07:17 +08:00
Sema Checherinda
4dd86a406a
Merge pull request #48543 from azat/mv-uniq-thread-group
Use one ThreadGroup while pushing to materialized views (and some refactoring for ThreadGroup)
2023-04-11 11:47:46 +02:00
Azat Khuzhin
79b83c4fd2 Remove superfluous includes of logger_userful.h from headers
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-04-10 17:59:30 +02:00
Azat Khuzhin
5b2b20a0b0 Rename ThreadGroupStatus to ThreadGroup
There are methods like getThreadGroup() and ThreadGroupSwitcher class,
so seems that this is logical.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-04-07 15:31:48 +02:00
Azat Khuzhin
f38a7aeabe ThreadPool metrics introspection
There are lots of thread pools and simple local-vs-global is not enough
already, it is good to know which one in particular uses threads.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-03-29 10:46:59 +02:00
Nikolai Kochetov
73e98de46d Merge branch 'master' into aggregate-projections-analysis-query-plan 2023-03-23 21:28:36 +01:00
Sema Checherinda
3c6deddd1d work with comments on PR 2023-03-16 19:55:58 +01:00
Anton Popov
d2a8cd3ed4 fix performance regression 2023-03-14 14:51:28 +00:00
Nikolai Kochetov
669a92bae0 Merge branch 'master' into aggregate-projections-analysis-query-plan 2023-03-13 19:55:49 +01:00
Anton Popov
6f3e4d4137
Merge pull request #46118 from CurtizJ/fix-issues-with-sparse
Randomize setting `ratio_of_defaults_for_sparse_serialization`
2023-03-05 22:28:18 +01:00
LiuNeng
d4c5ab9dcd
Optimize one nullable key aggregate performance (#45772) 2023-03-02 21:01:52 +01:00
Anton Popov
d926713cf5 Merge remote-tracking branch 'upstream/master' into HEAD 2023-02-23 23:04:22 +00:00
Nikolai Kochetov
c5f93eb108 Fix more tests. 2023-02-21 15:44:50 +00:00