This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 92cef580f3 [enhancement](memory) Reduce virtual memory used by 
PaddedPODArray (#11816)
92cef580f3 is described below

commit 92cef580f32d5b8085032f16eb001f1e8512d0ef
Author: Xinyi Zou <zouxiny...@gmail.com>
AuthorDate: Mon Aug 22 11:33:07 2022 +0800

    [enhancement](memory) Reduce virtual memory used by PaddedPODArray (#11816)
---
 be/src/exec/hash_join_node.cpp                                    | 2 +-
 be/src/exec/set_operation_node.cpp                                | 3 ++-
 be/src/vec/olap/vgeneric_iterators.cpp                            | 3 ++-
 fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java | 3 ++-
 4 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/be/src/exec/hash_join_node.cpp b/be/src/exec/hash_join_node.cpp
index f5a7fec132..53efed1113 100644
--- a/be/src/exec/hash_join_node.cpp
+++ b/be/src/exec/hash_join_node.cpp
@@ -148,7 +148,7 @@ Status HashJoinNode::prepare(RuntimeState* state) {
              _is_null_safe_eq_join.end());
     _hash_tbl.reset(new HashTable(_build_expr_ctxs, _probe_expr_ctxs, 
_build_tuple_size,
                                   stores_nulls, _is_null_safe_eq_join, id(),
-                                  state->batch_size() * 2));
+                                  
BitUtil::RoundUpToPowerOfTwo(state->batch_size())));
 
     _probe_batch.reset(new RowBatch(child(0)->row_desc(), 
state->batch_size()));
 
diff --git a/be/src/exec/set_operation_node.cpp 
b/be/src/exec/set_operation_node.cpp
index 7e00e69fbe..882019b199 100644
--- a/be/src/exec/set_operation_node.cpp
+++ b/be/src/exec/set_operation_node.cpp
@@ -146,7 +146,8 @@ Status SetOperationNode::open(RuntimeState* state) {
     }
     // initial build hash table used for remove duplicated
     _hash_tbl.reset(new HashTable(_child_expr_lists[0], _child_expr_lists[1], 
_build_tuple_size,
-                                  true, _find_nulls, id(), state->batch_size() 
* 2));
+                                  true, _find_nulls, id(),
+                                  
BitUtil::RoundUpToPowerOfTwo(state->batch_size())));
     RowBatch build_batch(child(0)->row_desc(), state->batch_size());
     RETURN_IF_ERROR(child(0)->open(state));
 
diff --git a/be/src/vec/olap/vgeneric_iterators.cpp 
b/be/src/vec/olap/vgeneric_iterators.cpp
index 557ef8e057..83fdcbb105 100644
--- a/be/src/vec/olap/vgeneric_iterators.cpp
+++ b/be/src/vec/olap/vgeneric_iterators.cpp
@@ -239,7 +239,8 @@ private:
     bool _valid = false;
     mutable bool _skip = false;
     size_t _index_in_block = -1;
-    int _block_row_max = 4096;
+    // 4096 minus 16 + 16 bytes padding that in padding pod array
+    int _block_row_max = 4064;
     int _num_columns;
     int _num_key_columns;
     std::vector<uint32_t>* _compare_columns;
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
index 7f4b2a5846..ccc7a8764d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
@@ -336,8 +336,9 @@ public class SessionVariable implements Serializable, 
Writable {
     @VariableMgr.VarAttr(name = CODEGEN_LEVEL)
     public int codegenLevel = 0;
 
+    // 1024 minus 16 + 16 bytes padding that in padding pod array
     @VariableMgr.VarAttr(name = BATCH_SIZE)
-    public int batchSize = 1024;
+    public int batchSize = 992;
 
     @VariableMgr.VarAttr(name = DISABLE_STREAMING_PREAGGREGATIONS)
     public boolean disableStreamPreaggregations = false;


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

Reply via email to