pytorch
64689c24 - Remove unecessary copy within blob serialization (#40096)

Commit
4 years ago
Remove unecessary copy within blob serialization (#40096) Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/40096 Declaring `tensor_proto` to be of type `auto` means that it will copy the entire `TensorProto` instead of just keeping a reference. This changes it to just use a const reference instead. Test Plan: Using the model loader benchmark to measure model loading performance: ### `tensor_proto` is of type `const auto&` ``` ============================================================================ caffe2/caffe2/fb/predictor/ModelLoaderBenchmark.cpprelative time/iter iters/s ============================================================================ BlobProtoInt32DeserializationFloat16 11.08ms 90.27 BlobProtoByteDeserializationFloat16 1509.73% 733.73us 1.36K ---------------------------------------------------------------------------- BlobProtoInt32DeserializationUInt8 10.48ms 95.45 BlobProtoByteDeserializationUInt8 2974.57% 352.22us 2.84K ============================================================================ ``` ### `tensor_proto` is of type `auto` ``` ============================================================================ caffe2/caffe2/fb/predictor/ModelLoaderBenchmark.cpprelative time/iter iters/s ============================================================================ BlobProtoInt32DeserializationFloat16 13.84ms 72.26 BlobProtoByteDeserializationFloat16 658.85% 2.10ms 476.08 ---------------------------------------------------------------------------- BlobProtoInt32DeserializationUInt8 17.09ms 58.51 BlobProtoByteDeserializationUInt8 3365.98% 507.80us 1.97K ============================================================================ ``` Reviewed By: marksantaniello Differential Revision: D21959644 fbshipit-source-id: 6bc2dfbde306f88bf7cd4f9b14b95ac69c2e1b4d
Author
Sean Lynch
Parents
Loading