On Jan 15, 2016, at 2:43 PM, Stuart Marks <[email protected]> wrote:
> 
> 
> I think, in order to avoid introducing new functional interfaces, this 
> information is funneled into a single varargs call, which has to use Integer 
> boxes, because it then wraps its args into a List (thanks for using the new 
> List factory!), which then has to unpack the list and check its length 
> against the number of arguments for the particular message kind.

And that's before String.format does a bunch more steps of the same kind, 
including boxing and varargs. And then the exception creation itself walks the 
entire thread stack. Micro-optimization is hopeless. 

But it doesn't matter because it's all on the slow path. 

> I understand that this is the "slow" exception-throwing path, but my sense is 
> still that this ought to be made simpler. Perhaps the scope of what it's 
> trying to accomplished should be reduced, if that helps things.

Simpler would be good but I don't see it any simpler, yet. 

Do give it some thought!

Reply via email to