|
|
|
|
|
by hifromwork
688 days ago
|
|
Pick a different architecture - anything 32bit. Exception handling on 64bit windows works differently, where the overhead is in the PE headers instead of asm directly (and is in general lower). You don't have the setup and teardown in your example Throwing exception has the same overhead in both cases. In case of noexcept function, the function has to (or used to have, depending on architecture setup an exception handling frame and remove it when leaving. >Naively it'd seem like without noexcept, you raise the exception; and with noexcept, you call std::terminate instead Except you may call a normal function from a noexcept function, and this function may still raise an exception. |
|