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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]