pytorch
566f7c79 - [c10] Take advantage of c10::str optis for simple CAFFE_ENFORCE (#52223)

Commit
4 years ago
[c10] Take advantage of c10::str optis for simple CAFFE_ENFORCE (#52223) Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/52223 After the previous diffs, `c10::str()` will return a `CompileTimeEmptyString` when passed 0 arguments and a `const char*` when passed 1 `const char *` argument. We can take advantage of this to outline further std::string creation from CAFFE_ENFORCE. ghstack-source-id: 121877053 (Note: this ignores all push blocking failures!) Test Plan: Compare assembly for ``` #include <c10/util/Logging.h> void f(bool b) { CAFFE_ENFORCE(b); } void g(bool b) { CAFFE_ENFORCE(b, "message"); } void h(bool b) { CAFFE_ENFORCE(b, "message", random()); } ``` before & after this diff. before: P174902847 after: P174902912 f & g are clearly much improved, and h is about the same. (I tried measuring caffe2 perf on the AdIndexer MergeNet benchmark, but didn't see a win, which makes sense because the change is small.) Reviewed By: bhosmer Differential Revision: D26405181 fbshipit-source-id: c51a9e459ae7d9876494a83ade6f6fe725619512
Author
Parents
Loading