From 2092dc0ba1910a560b5cd2c79fcef3b302f2a752 Mon Sep 17 00:00:00 2001 From: Gao Date: Thu, 31 Oct 2024 10:02:21 +0800 Subject: [PATCH] enhance: reserve vector space to reduce reallocate cost in Views() and StringViews() (#37182) issue: #37152 Signed-off-by: chasingegg --- internal/core/src/mmap/Column.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/core/src/mmap/Column.h b/internal/core/src/mmap/Column.h index 698097d306..2800d849d5 100644 --- a/internal/core/src/mmap/Column.h +++ b/internal/core/src/mmap/Column.h @@ -682,6 +682,7 @@ class SingleChunkVariableColumn : public SingleChunkColumnBase { std::pair, FixedVector> StringViews() const override { std::vector res; + res.reserve(num_rows_); char* pos = data_; for (size_t i = 0; i < num_rows_; ++i) { uint32_t size; @@ -696,6 +697,7 @@ class SingleChunkVariableColumn : public SingleChunkColumnBase { [[nodiscard]] std::vector Views() const { std::vector res; + res.reserve(num_rows_); char* pos = data_; for (size_t i = 0; i < num_rows_; ++i) { uint32_t size;