AFAIK it is exactly generation of stack trace that takes so long. Recently it was changes to be generated lazily which is why version without `toString` is much faster. I don't think it can be any better if you want stack trace. For getting just the exception data one can directly access `e.msg` / `e.file` / `e.line`