Skip to content
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

perf: optimize append_any function #30248

Merged
merged 1 commit into from
Dec 5, 2018
Merged

perf: optimize append_any function #30248

merged 1 commit into from
Dec 5, 2018

Conversation

vtjnash
Copy link
Sponsor Member

@vtjnash vtjnash commented Dec 3, 2018

Reimplement a larger portion of the optimizations in jl_f__apply
in the fallback function, so we can reduce the performance wall in more cases.

General fix for #29133-like performance issues (vs. #29587, which improves this specific case at the cost of worse performance in general)

before
julia> @btime perf_setindex!($(fill!(A, y)), $y, $i)
  1.746 μs (8 allocations: 336 bytes)

after
julia> @btime perf_setindex!($(fill!(A, y)), $y, $i)
  389.547 ns (5 allocations: 256 bytes)

(approx. 4.5x speedup, vs. the 2x slowdown currently on master)

Reimplement a larger portion of the optimizations in jl_f__apply
in the fallback function, so we can reduce the performance wall in more cases.

General fix for #29133-like performance issues
@KristofferC
Copy link
Sponsor Member

@nanosoldier runbenchmarks(ALL, vs = ":master")

@nanosoldier
Copy link
Collaborator

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

@KristofferC
Copy link
Sponsor Member

Mac failure is Github connection error in Pkg test. Good to go?

@vtjnash vtjnash merged commit 49c4e09 into master Dec 5, 2018
@vtjnash vtjnash deleted the jn/append_any-optimize branch December 5, 2018 01:30
@KristofferC KristofferC mentioned this pull request Dec 6, 2018
61 tasks
jrevels pushed a commit that referenced this pull request Dec 31, 2018
Reimplement a larger portion of the optimizations in jl_f__apply
in the fallback function, so we can reduce the performance wall in more cases.

General fix for #29133-like performance issues
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Must go faster
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants