Just eliminated C++ exceptions in a complicated multithreaded library. It’s 15% faster despite all performance sensitive functions previously being declared noexcept, with no obvious explanation.
-
Show this thread
-
Exception throwing on Windows x64 is 8,000 CPU cycles in Visual C++ and 20,000 in clang, but grows to 1,800,000 when a debugger is attached to the process.
4 replies 19 retweets 144 likesShow this thread
Replying to @greatcodeholio
I remember that from win32 on x86, where exceptions seemed reasonably fast. On x64, there is no trace of exception tracking in mainline code, but some horrible handler that digs through the executable file to find tables of exception handlers.
2:42 PM - 31 Jan 2020
0 replies
0 retweets
4 likes
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.