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

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new f9092a02612 [Optimize](point query) clear names to reduce mem 
consumption and cpu cost related to block column name (#26931) (#27157)
f9092a02612 is described below

commit f9092a02612148e5229c567c6e02feff3393b663
Author: lihangyu <15605149...@163.com>
AuthorDate: Fri Nov 17 23:11:46 2023 +0800

    [Optimize](point query) clear names to reduce mem consumption and cpu cost 
related to block column name (#26931) (#27157)
---
 be/src/service/point_query_executor.cpp | 3 ++-
 be/src/vec/core/block.cpp               | 3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/be/src/service/point_query_executor.cpp 
b/be/src/service/point_query_executor.cpp
index 4e965197feb..01d40d13ffe 100644
--- a/be/src/service/point_query_executor.cpp
+++ b/be/src/service/point_query_executor.cpp
@@ -47,7 +47,7 @@
 namespace doris {
 
 Reusable::~Reusable() {}
-constexpr static int s_preallocted_blocks_num = 64;
+constexpr static int s_preallocted_blocks_num = 32;
 Status Reusable::init(const TDescriptorTable& t_desc_tbl, const 
std::vector<TExpr>& output_exprs,
                       size_t block_size) {
     SCOPED_MEM_COUNT(&_mem_size);
@@ -337,6 +337,7 @@ Status PointQueryExecutor::_lookup_row_data() {
 template <typename MysqlWriter>
 Status _serialize_block(MysqlWriter& mysql_writer, vectorized::Block& block,
                         PTabletKeyLookupResponse* response) {
+    block.clear_names();
     RETURN_IF_ERROR(mysql_writer.append_block(block));
     assert(mysql_writer.results().size() == 1);
     uint8_t* buf = nullptr;
diff --git a/be/src/vec/core/block.cpp b/be/src/vec/core/block.cpp
index 17ddfefcd10..f8f3d9b8883 100644
--- a/be/src/vec/core/block.cpp
+++ b/be/src/vec/core/block.cpp
@@ -172,6 +172,9 @@ void Block::insert(size_t position, ColumnWithTypeAndName&& 
elem) {
 
 void Block::clear_names() {
     index_by_name.clear();
+    for (auto& entry : data) {
+        entry.name.clear();
+    }
 }
 
 void Block::insert(const ColumnWithTypeAndName& elem) {


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

Reply via email to