From 16ecdbbaa2a24debae1c80b441bbea945d61d02d Mon Sep 17 00:00:00 2001 From: Scott Wolchok Date: Mon, 30 Aug 2021 09:34:24 -0700 Subject: [PATCH] [PyTorch] Fix missing move in unpickler (#63974) Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/63974 Saw some time spent in this for model loading, no reason not to move here. ghstack-source-id: 136760979 Test Plan: Re-profile model loading on devserver; IValue copy ctor time has gone down Reviewed By: dhruvbird Differential Revision: D30548923 fbshipit-source-id: 42000f2e18582762b43353cca10ae094833de3b3 --- torch/csrc/jit/serialization/unpickler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torch/csrc/jit/serialization/unpickler.cpp b/torch/csrc/jit/serialization/unpickler.cpp index f944387..b521dc8 100644 --- a/torch/csrc/jit/serialization/unpickler.cpp +++ b/torch/csrc/jit/serialization/unpickler.cpp @@ -318,7 +318,7 @@ PickleOpCode Unpickler::readInstruction() { tuple->elements().reserve(stack_.size() - start); auto start_it = stack_.begin() + start; for (auto it = start_it; it != stack_.end(); ++it) { - tuple->elements().emplace_back(*it); + tuple->elements().emplace_back(std::move(*it)); } stack_.erase(start_it, stack_.end()); stack_.emplace_back(std::move(tuple)); -- 2.7.4