Skip to content
Snippets Groups Projects
Unverified Commit 271b72b0 authored by cpw's avatar cpw Committed by GitHub
Browse files

Reserve capacity in some cases (#628)


Co-authored-by: default avatarYee <2520865+yixinglu@users.noreply.github.com>
parent bd03203e
No related branches found
No related tags found
No related merge requests found
......@@ -109,6 +109,7 @@ Status DataCollectExecutor::rowBasedMove(const std::vector<std::string>& vars) {
for (auto& var : vars) {
auto& result = ectx_->getResult(var);
auto iter = result.iter();
ds.rows.reserve(ds.rows.size() + iter->size());
if (iter->isSequentialIter() || iter->isPropIter()) {
auto* seqIter = static_cast<SequentialIter*>(iter.get());
for (; seqIter->valid(); seqIter->next()) {
......
......@@ -29,6 +29,7 @@ folly::Future<Status> DedupExecutor::execute() {
ResultBuilder builder;
builder.value(iter->valuePtr());
std::unordered_set<const LogicalRow*> unique;
unique.reserve(iter->size());
while (iter->valid()) {
if (!unique.emplace(iter->row()).second) {
iter->unstableErase();
......
......@@ -25,6 +25,7 @@ folly::Future<Status> ProjectExecutor::execute() {
VLOG(1) << "input: " << project->inputVar();
DataSet ds;
ds.colNames = project->colNames();
ds.rows.reserve(iter->size());
for (; iter->valid(); iter->next()) {
Row row;
for (auto& col : columns) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment