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

Fix performance regression #574

Merged
merged 1 commit into from
Dec 9, 2018
Merged

Fix performance regression #574

merged 1 commit into from
Dec 9, 2018

Conversation

YingboMa
Copy link
Member

@YingboMa YingboMa commented Dec 8, 2018

Fixes #571

julia> @btime solve($probs,$(Tsit5())); # master
  2.981 ms (60568 allocations: 4.10 MiB)

julia> @btime solve($probs,$(Tsit5())); # PR
  487.315 μs (2664 allocations: 473.02 KiB)

@coveralls
Copy link

coveralls commented Dec 9, 2018

Coverage Status

Coverage decreased (-21.04%) to 46.683% when pulling 85e2dcf on myb/perf into f9206b0 on master.

@codecov
Copy link

codecov bot commented Dec 9, 2018

Codecov Report

Merging #574 into master will increase coverage by <.01%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #574      +/-   ##
==========================================
+ Coverage   68.87%   68.87%   +<.01%     
==========================================
  Files          81       81              
  Lines       23997    23998       +1     
==========================================
+ Hits        16527    16528       +1     
  Misses       7470     7470
Impacted Files Coverage Δ
src/misc_utils.jl 62.85% <100%> (+1.09%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f9206b0...85e2dcf. Read the comment docs.

@devmotion
Copy link
Member

By the way, did you test whether the different implementations (that were introduced to circumvent some performance regression due to broadcasting: #107 (comment)) are still required?

@dkarrasch
Copy link

What types of internalnorm can be used? I thought one could, for instance, define an internalnorm that computes the norm based on only few of the components. That couldn't be called on numbers then?

@devmotion
Copy link
Member

At the moment you have to define a scalar norm as well but that will be changed in the next DiffEq release. There's a discussion about this issue in #569.

@YingboMa
Copy link
Member Author

YingboMa commented Dec 9, 2018

By the way, did you test whether the different implementations are still required?

Yes, it is still needed.

@ChrisRackauckas
Copy link
Member

Sweet, I find this to be cleaner as well.

@ChrisRackauckas ChrisRackauckas merged commit c6226a5 into master Dec 9, 2018
@dkarrasch
Copy link

Can we please get a version tag for this fix? Or are there more things currently in the pipeline?

@ChrisRackauckas ChrisRackauckas deleted the myb/perf branch December 13, 2018 21:05
@ChrisRackauckas
Copy link
Member

Release made

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants