julia icon indicating copy to clipboard operation
julia copied to clipboard

broadcast: disable nospecialize logic for outer method signature

Open vtjnash opened this issue 4 years ago • 7 comments

This removes the dependence on inlining for performance, so we also remove @inline, since it can harm performance.

@nanosoldier runbenchmarks("broadcast" || "sparse" || "array", vs=":master")

vtjnash avatar Nov 23 '21 17:11 vtjnash

This looks like it updates and replaces #35675? Does it work around the problem of the mutable Ref?

mbauman avatar Nov 23 '21 17:11 mbauman

Ah, I had forgotten #35675 existed. I think we need to stop preventing progress on this bug. We seen these @inline substantially harm performance in many cases, but in a few cases lead to trivial allocations, which should typically not be considered a blocking issue.

vtjnash avatar Nov 23 '21 19:11 vtjnash

I can put up a PR to add support in broadcast for Some (currently an error). And later we can also merge the PR that adds support for FillArray (currently not yet defined).

vtjnash avatar Nov 23 '21 19:11 vtjnash

Your benchmark job has completed - possible performance regressions were detected. A full report can be found here.

nanosoldier avatar Nov 23 '21 21:11 nanosoldier

bump

Edit: Ok, I read https://github.com/JuliaLang/julia/pull/35675#issuecomment-624222014 etc now...

KristofferC avatar May 21 '24 09:05 KristofferC

It would be good to merge, so that folks had to actually merge the fix for that problem and not ignore them any longer

vtjnash avatar May 21 '24 13:05 vtjnash

I mean, I'm all for this, but we should know what the tradeoffs are and make an intentional decision that the good outweighs the bad.

@KristofferC do you have a branch with conflicts resolved against which we can run nanosoldier again? 

mbauman avatar May 21 '24 14:05 mbauman