-
-
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
faster mapfoldl for tuples #30471
faster mapfoldl for tuples #30471
Conversation
2x speedup on |
Also a huge speedup for heterogeneous tuples. If we define julia> @btime gsum(1.,2.,3.,4.,5.,6,7.,8.) # notice that 6th argument is an Int
179.733 ns (13 allocations: 656 bytes)
204.0 whereas I get 1.89ns and 0 allocations with this PR, a 100x speedup. @cossio, after this PR we might want to change |
Awesome! We can wait for this to get merged, or else I can do that in a separate PR. |
ref #28614 |
aka this is the tip of the iceberg |
Okay to merge? |
@nanosoldier |
@fredrikekre, is nanosoldier not running? I don't see any output. |
Hmm, lets try again: |
Still nothing. |
The server dies periodically with a "too many open files" error, which is what happened here, so I've restarted it. @nanosoldier |
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @ararslan |
The nanosoldier benchmark differences seem to be in the noise? Although BaseBenchmarks includes some tuple benchmarks, it seems to use its own mapreduce implementation for some reason, so it shouldn't be affected by this PR anyway. (cc @KristofferC) |
I'm not sure if the base version was slow at that point, or if I copied it from the current StaticArrays implementation at the time. |
Ok to merge? |
(cherry picked from commit 6dc205a)
Fixes #30465: should speed up
mapreduce
,sum
, and many other functions on tuples.To do: