I read from the juce website that marking functions noexcept can improve performance up to 10x. So should I just put noexcept everywhere on a release build? Since regardless of being marked noexcept, the application crashes the same way in release right?
Well, if you decide to do no exception handling at runtime, you are right. However, under some circumstances exceptions and
try catch blocks are a very useful thing to handle exceptions at runtime without letting the program crash. If you however don’t do any exception handling in your code this won’t matter in a debug build either, so to me it does not make so much sense to mark functions
noexcept in a release build only. It makes sense everywhere where you won’t do any exception handling (e.g. in your DSP code) and I think marking some constructors
noexcept allows some containers to move your classes faster, however there will be people in this forum that can give a more detailed answer to this aspect.