avoid Function instantiating std::move over lambdas
Summary: There are many lambda types so that can be a lot of instantiations. This shows up with futures, which use `Function` under the hood with lambdas. It is not as helpful to avoid `std::move` completely - it is primarily important to avoid it over callables, since these locations are widely-instantiated but may also be the only instantiations over the callables. ```name=trunk $ foundation/scripts/run-perf-compile --syntax folly/futures/test/FutureTest.cpp 6,359,421,839 instructions:uP ``` ```name=branch $ foundation/scripts/run-perf-compile --syntax folly/futures/test/FutureTest.cpp 6,331,468,279 instructions:uP ``` Reviewed By: Gownta, luciang Differential Revision: D32971147 fbshipit-source-id: b2ce1325330ed59d9fb23fed48476fddf24e7854
Showing
Please register or sign in to comment