
13 Apr
2023
13 Apr
'23
8:43 a.m.
On 4/13/23 06:08, Darrell Wright via Boost wrote:
One thing I learned in my own replacement is that exit_success is heavily penalized on MSVC, even when there is no possible exception, because of the call to uncaught_exceptions that isn’t optimized. It’s a good thing to document, if not already, as it is surprising.
Well, a certain amount of overhead is expected, since the added condition is there and not likely to be optimized away. However, I would expect uncaught_exceptions() to be cheap, as it should simply read an integer from TLS. I wonder how std::uncaught_exceptions() compares to our custom implementation in boost::core::uncaught_exceptions(). Perhaps, I should benchmark it.