Reduce allocation of temporary values on heap.

- Use `std::move` while inserting temporary results into vectors.
- Change `push_back` to `emplace_back` where appropriate.
This commit is contained in:
Pavel Solodovnikov
2018-01-25 16:59:33 +03:00
parent fa3ac83af0
commit c85bb007df
69 changed files with 303 additions and 315 deletions
+3 -3
View File
@@ -88,7 +88,7 @@ void cmComputeComponentGraph::TarjanVisit(int i)
if (this->TarjanEntries[i].Root == i) {
// Yes. Create it.
int c = static_cast<int>(this->Components.size());
this->Components.push_back(NodeList());
this->Components.emplace_back();
NodeList& component = this->Components[c];
// Populate the component list.
@@ -125,8 +125,8 @@ void cmComputeComponentGraph::TransferEdges()
if (i_component != j_component) {
// We do not attempt to combine duplicate edges, but instead
// store the inter-component edges with suitable multiplicity.
this->ComponentGraph[i_component].push_back(
cmGraphEdge(j_component, ni.IsStrong()));
this->ComponentGraph[i_component].emplace_back(j_component,
ni.IsStrong());
}
}
}