You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2022/07/14 06:12:02 UTC

[doris] branch master updated: [improvement]Use uint32 instead of size_t to reduce agg key's length (#10832)

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 d245ab76cc [improvement]Use uint32 instead of size_t to reduce agg key's length (#10832)
d245ab76cc is described below

commit d245ab76ccd7df6d18c927ee2f0d015e51ddd252
Author: Jerry Hu <mr...@gmail.com>
AuthorDate: Thu Jul 14 14:11:55 2022 +0800

    [improvement]Use uint32 instead of size_t to reduce agg key's length (#10832)
---
 be/src/vec/columns/column_string.cpp | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/be/src/vec/columns/column_string.cpp b/be/src/vec/columns/column_string.cpp
index 296924aea2..e74ec544dc 100644
--- a/be/src/vec/columns/column_string.cpp
+++ b/be/src/vec/columns/column_string.cpp
@@ -163,8 +163,8 @@ ColumnPtr ColumnString::permute(const Permutation& perm, size_t limit) const {
 
 StringRef ColumnString::serialize_value_into_arena(size_t n, Arena& arena,
                                                    char const*& begin) const {
-    IColumn::Offset string_size = size_at(n);
-    size_t offset = offset_at(n);
+    uint32_t string_size(size_at(n));
+    uint32_t offset(offset_at(n));
 
     StringRef res;
     res.size = sizeof(string_size) + string_size;
@@ -177,7 +177,7 @@ StringRef ColumnString::serialize_value_into_arena(size_t n, Arena& arena,
 }
 
 const char* ColumnString::deserialize_and_insert_from_arena(const char* pos) {
-    const IColumn::Offset string_size = unaligned_load<IColumn::Offset>(pos);
+    const uint32_t string_size = unaligned_load<uint32_t>(pos);
     pos += sizeof(string_size);
 
     const size_t old_size = chars.size();
@@ -196,14 +196,14 @@ size_t ColumnString::get_max_row_byte_size() const {
         max_size = std::max(max_size, size_at(i));
     }
 
-    return max_size + sizeof(size_t);
+    return max_size + sizeof(uint32_t);
 }
 
 void ColumnString::serialize_vec(std::vector<StringRef>& keys, size_t num_rows,
                                  size_t max_row_byte_size) const {
     for (size_t i = 0; i < num_rows; ++i) {
-        size_t offset = offset_at(i);
-        size_t string_size = size_at(i);
+        uint32_t offset(offset_at(i));
+        uint32_t string_size(size_at(i));
 
         auto* ptr = const_cast<char*>(keys[i].data + keys[i].size);
         memcpy(ptr, &string_size, sizeof(string_size));
@@ -217,8 +217,8 @@ void ColumnString::serialize_vec_with_null_map(std::vector<StringRef>& keys, siz
                                                size_t max_row_byte_size) const {
     for (size_t i = 0; i < num_rows; ++i) {
         if (null_map[i] == 0) {
-            size_t offset = offset_at(i);
-            size_t string_size = size_at(i);
+            uint32_t offset(offset_at(i));
+            uint32_t string_size(size_at(i));
 
             auto* ptr = const_cast<char*>(keys[i].data + keys[i].size);
             memcpy(ptr, &string_size, sizeof(string_size));


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