diff --git a/torch/csrc/jit/runtime/static/impl.cpp b/torch/csrc/jit/runtime/static/impl.cpp index 4ff25d71899..3ab6523b148 100644 --- a/torch/csrc/jit/runtime/static/impl.cpp +++ b/torch/csrc/jit/runtime/static/impl.cpp @@ -161,6 +161,8 @@ LivenessMap GetLivenessMap( std::vector values_in_creation_order; FastMap values_to_idx_in_creation_order; for (const auto* node : graph->nodes()) { + values_to_idx_in_creation_order.reserve( + values_to_idx_in_creation_order.size() + node->outputs().size()); for (const auto* v : node->outputs()) { values_to_idx_in_creation_order.emplace( v, values_in_creation_order.size()); @@ -184,6 +186,7 @@ LivenessMap GetLivenessMap( auto& v_live_set = liveness_map[v] = {}; + v_live_set.reserve(live_values_use_chain.size()); for (const auto& live_v : live_values_use_chain) { v_live_set.insert(live_v.first); liveness_map.at(live_v.first).insert(v); @@ -192,7 +195,7 @@ LivenessMap GetLivenessMap( // only add values to the live set if they // have deps, otherwise they die immediately if (v->uses().size()) { - live_values_use_chain[v] = {}; + live_values_use_chain[v] = FastSet(v->uses().size()); } // record the relationship between v (Value) and its uses (Node)