On Saturday, 8 February 2014 at 11:27:27 UTC, Jonathan M Davis wrote:
On Saturday, February 08, 2014 11:17:25 Jakob Ovrum wrote:
On Saturday, 8 February 2014 at 11:05:38 UTC, Dmitry Olshansky
wrote:>

> If both are thread-local and cached I see no problem > whatsoever.
> The thing is the current "default" of creating exception is
> AWFUL.
> And D stands for sane defaults and the simple path being good
> last time I checked.

How is it not a problem? XException's fields (message, location
etc) would be overwritten by the latest throw site, and its
`next` field would point to itself.

Then we have multiple of them, or we new up another one when a second one is needed. Even if it were only the first exception which avoided the allocation, it would be a big gain, and in most cases, you're only going to get a single
exception, or the exceptions will be of different types.

- Jonathan M Davis

Yes, I'm sure there is a cool solution, I'm just pointing out that it's not as simple as statically allocating.

I think it would be a nice exercise to compose such a solution with std.allocator.

Reply via email to