On Sunday, 9 February 2014 at 16:07:52 UTC, Marc Schütz wrote:
But the difference actual difference is so much larger. Where does it come from? It might mean that there is some costly operation that both `new` and `toString()` perform. Or it might actually be a bug, and when fixed, would have worse performance. It seems almost too good to be true...
Both "new" and stack trace generation ("toString") are rather costly operations on their own. And both can trigger GC collection cycles. It is not wonder that removing both results in such an improvement.
I think proposal to omit stack traces in release builds is a good idea.
