Interesting, thanks.
Jared Crean
On 04/21/2016 04:05 PM, Yichao Yu wrote:
On Thu, Apr 21, 2016 at 3:51 PM, Jared Crean <[email protected]> wrote:
Thanks for the responses. Just out of curiosity, where precisely does the
splat happen?
The issue is calling a non-inlined vararg function has a cost...
i.e. if you have `f(args...) = ...` and call `f` with `f(a, b)`, `a`
and `b` will be boxed if `f` is not inlined....
In your case, the multi-args `+` is defined as a vararg function.
Jared Crean
On 04/21/2016 03:46 PM, Yichao Yu wrote:
On Thu, Apr 21, 2016 at 3:41 PM, Steven G. Johnson
<[email protected]> wrote:
Even if it fails to inline, it still shouldn't allocate memory. Probably
file an issue.
The allocation is caused by splatting. I believe we have an issue for
this.
On Thursday, April 21, 2016 at 2:09:42 PM UTC-4, Kristoffer Carlsson
wrote:
Long expressions can fail to inline. Throw in some parenthesis grouping
the expression into smaller parts will work around it.