exception_ptr -> exception_wrapper migration
Summary: integrate exception_wrapper everywhere, and deprecate public methods that take ptrs directly to discourage their use note that this will break for throwing non-exceptions, which is probably fine this change opens the door to interesting optimizations for those interested, e.g. Future::then<Exn1, Exn2>(/* func throwing Exn1 and Exn2 */) that autowraps the given types into the resultant future new benchmark: ``` throwAndCatch 23.69us 42.21K throwAndCatchWrapped 119.53% 19.82us 50.45K throwWrappedAndCatchWrapped 350.16% 6.77us 147.80K ``` Test Plan: existing unit tests, suspected potential perf wins confirmed by benchmark, will wait for windtunnel to see other wins/regressions Reviewed By: hans@fb.com Subscribers: search-fbcode-diffs@, apodsiadlo, alikhtarov, andrii, trunkagent, fugalh, njormrod, folly-diffs@, bmatheny FB internal diff: D1644912 Signature: t1:1644912:1420731849:3dc658dc03bfd6e75d61158808c7dad96092ecfb
Showing
Please register or sign in to comment