On Thu, 27 Feb 2014 08:30:22 GMT, Sönke Ludwig wrote:

On Wed, 26 Feb 2014 20:37:39 GMT, Marc Schütz wrote:

Good news:
http://forum.dlang.org/post/jdczqcybrkflihvbbkql@forum.dlang.org

With Adam Ruppe's patches in druntime, dynamic and static exceptions are now equally fast, but only if toString() is not called. So this should really be disabled in production mode.

Good news! Yes, toString should only be called for logDebug messages, which should be evaluated lazily only when a logger actually accepts debug messages. However, this parameters to the log functions are currently auto ref instead of lazy, due to historical DMD reasons. I'll test lazy again now.

Seems to work flawlessly now: 6014f4b

The other place where toString is used is for the HTTPServerErrorInfo.debugMessage field, I'll add a HTTPServerOption for that to disable it.

5e197c0