-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle setfield! in alloc_elim_pass #16969
Conversation
👍 I didn't do this last time because I worry being more aggressive here might make the codegen bug worse. |
Cool! While you're at it, it would be good to see if alloc_elim_pass can be sped up at all, since I've seen some profiles that indicate a fair amount of time is spent there. I would also like to see comments illustrating the transformation done, i.e. showing example IR fragments and what they get converted to. |
do you have an example benchmark where this is particularly evident that I can use as a basis ?
can do |
It was one that @andreasnoack ran into:
I don't think this pass is more than half the time, but I was hoping there might be low-hanging fruit there. In particular a lot of time is spent in |
With apologies for hijacking this for unrelated purposes, see #16128 (comment) @nanosoldier |
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @jrevels |
This looks pretty cool. The benchmarks are all over the place though: some got faster, some slower. |
Note that Tim ran the benchmarks here against the |
@nanosoldier |
Quote? |
Nanosoldier doesn't accept jobs via comment edits (assuming that's what happened here). It used to, but I considered that a bug and fixed it (since it easily allowed jobs to accidentally get re-triggered, or triggered on comment deletion). @nanosoldier |
Thanks and I can see that the soldier actually changes color so I should have noticed. |
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @jrevels |
@carnaval Do you have an idea why this would slow down |
We have this now |
Probably does not come up very often but was added to allow for generic code with mutable accumulators such as
then write
and get efficient scalar code in the Float64 case
@andreasnoack