From e76cb292271875799a0dd4de6d9ef71077bac203 Mon Sep 17 00:00:00 2001 From: wangwei <1261385937@qq.com> Date: Sat, 19 Nov 2022 13:44:48 +0800 Subject: [PATCH 1/2] remove items_.reserve for batch write --- clickhouse/columns/string.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/clickhouse/columns/string.cpp b/clickhouse/columns/string.cpp index 8ea362c4..ed128579 100644 --- a/clickhouse/columns/string.cpp +++ b/clickhouse/columns/string.cpp @@ -247,7 +247,6 @@ void ColumnString::Append(ColumnRef column) { // TODO: fill up existing block with some items and then add a new one for the rest of items if (blocks_.size() == 0 || blocks_.back().GetAvailable() < total_size) blocks_.emplace_back(std::max(DEFAULT_BLOCK_SIZE, total_size)); - items_.reserve(items_.size() + col->Size()); for (size_t i = 0; i < column->Size(); ++i) { this->AppendUnsafe((*col)[i]); From 69062c943973b62b42cdf212217a6134c464f0e8 Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Tue, 22 Nov 2022 19:04:18 +0400 Subject: [PATCH 2/2] Minor comment --- clickhouse/columns/string.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/clickhouse/columns/string.cpp b/clickhouse/columns/string.cpp index ed128579..ead1d9a6 100644 --- a/clickhouse/columns/string.cpp +++ b/clickhouse/columns/string.cpp @@ -248,6 +248,7 @@ void ColumnString::Append(ColumnRef column) { if (blocks_.size() == 0 || blocks_.back().GetAvailable() < total_size) blocks_.emplace_back(std::max(DEFAULT_BLOCK_SIZE, total_size)); + // Intentionally not doing items_.reserve() since that cripples performance. for (size_t i = 0; i < column->Size(); ++i) { this->AppendUnsafe((*col)[i]); }