You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by GitBox <gi...@apache.org> on 2022/06/28 06:34:55 UTC

[GitHub] [doris] spaces-X commented on a diff in pull request #10448: [Load][Vectorized] opt the mem use of aggregate function in load to speed up

spaces-X commented on code in PR #10448:
URL: https://github.com/apache/doris/pull/10448#discussion_r908074976


##########
be/src/olap/memtable.cpp:
##########
@@ -161,11 +179,12 @@ void MemTable::_insert_one_row_from_block(RowInBlock* row_in_block) {
     if (is_exist) {
         _aggregate_two_row_in_block(row_in_block, _vec_hint.curr->key);
     } else {
-        row_in_block->init_agg_places(_agg_functions, _schema->num_key_columns());
+        row_in_block->init_agg_places(
+                (char*)_table_mem_pool->allocate(_total_size_of_aggregate_states),

Review Comment:
   I think `_total_size_of_aggregate_states` will not be large, depending on the number and type of value columns. Each value column needs a buffer to store the agg result, which is independent of the number of lines.
   
   Usually the number of value column will not be very large, may be less than 10. And the size and alignment length of basic data types are not large.
   
   However, the cumulative value of memory allocated by mem pool will be relatively large.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org