Skip to content

Commit c30163e

Browse files
committed
[ntuple] add reserve() where appropriate
1 parent 58f7120 commit c30163e

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

tree/ntuple/v7/src/RPageStorage.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ void ROOT::Experimental::Internal::RPageSource::UnzipClusterImpl(RCluster *clust
257257
continue;
258258
const auto &columnInfos = fActivePhysicalColumns.GetColumnInfos(columnId);
259259

260+
allElements.reserve(allElements.size() + columnInfos.size());
260261
for (const auto &info : columnInfos) {
261262
allElements.emplace_back(GenerateColumnElement(info.fElementId));
262263

@@ -857,6 +858,8 @@ void ROOT::Experimental::Internal::RPagePersistentSink::UpdateSchema(const RNTup
857858
}
858859

859860
const auto nColumns = descriptor.GetNPhysicalColumns();
861+
fOpenColumnRanges.reserve(fOpenColumnRanges.size() + (nColumns - nColumnsBeforeUpdate));
862+
fOpenPageRanges.reserve(fOpenPageRanges.size() + (nColumns - nColumnsBeforeUpdate));
860863
for (DescriptorId_t i = nColumnsBeforeUpdate; i < nColumns; ++i) {
861864
RClusterDescriptor::RColumnRange columnRange;
862865
columnRange.fPhysicalColumnId = i;
@@ -899,8 +902,10 @@ void ROOT::Experimental::Internal::RPagePersistentSink::InitImpl(RNTupleModel &m
899902
projectedFields.GetFieldZero().SetOnDiskId(0);
900903

901904
RNTupleModelChangeset initialChangeset{model};
905+
initialChangeset.fAddedFields.reserve(fieldZero.GetSubFields().size());
902906
for (auto f : fieldZero.GetSubFields())
903907
initialChangeset.fAddedFields.emplace_back(f);
908+
initialChangeset.fAddedProjectedFields.reserve(projectedFields.GetFieldZero().GetSubFields().size());
904909
for (auto f : projectedFields.GetFieldZero().GetSubFields())
905910
initialChangeset.fAddedProjectedFields.emplace_back(f);
906911
UpdateSchema(initialChangeset, 0U);
@@ -1135,6 +1140,7 @@ void ROOT::Experimental::Internal::RPagePersistentSink::CommitClusterGroup()
11351140

11361141
const auto nClusters = descriptor.GetNActiveClusters();
11371142
std::vector<DescriptorId_t> physClusterIDs;
1143+
physClusterIDs.reserve(nClusters);
11381144
for (auto i = fNextClusterInGroup; i < nClusters; ++i) {
11391145
physClusterIDs.emplace_back(fSerializationContext.MapClusterId(i));
11401146
}
@@ -1158,6 +1164,7 @@ void ROOT::Experimental::Internal::RPagePersistentSink::CommitClusterGroup()
11581164
.NClusters(nClusters - fNextClusterInGroup);
11591165
}
11601166
std::vector<DescriptorId_t> clusterIds;
1167+
clusterIds.reserve(nClusters);
11611168
for (auto i = fNextClusterInGroup; i < nClusters; ++i) {
11621169
clusterIds.emplace_back(i);
11631170
}

0 commit comments

Comments
 (0)