Conversation
This leads to a ~30% performance improvement in certain operations. It has a noticeable effect on visualizations.
|
See JuliaImages/ImageCore.jl#26 for some slightly-scary analysis. |
|
LLVM will probably never be able to figure it out. The LLVM IR is: And As a side note LLVM doesn't merge normally, but it does merge with and it merges the above as well. I was hoping using |
|
I hadn't looked as deeply as you, but I also suspected this would be hard for LLVM to analyze. Interesting that How scared are you by JuliaImages/ImageCore.jl#26 (comment)? How many other things might be affected by this? |
|
I added and the WRT how scared I am? I haven't looked to closely at why runtime seems to explode (you mentioned code instability?) an other reason might be that excessive inlining can also be detrimental to performance. Before we merge this we should run the testsuite for affected packages. |
Codecov Report
@@ Coverage Diff @@
## master #80 +/- ##
=======================================
Coverage 84.44% 84.44%
=======================================
Files 4 4
Lines 180 180
=======================================
Hits 152 152
Misses 28 28
Continue to review full report at Codecov.
|
|
I ran the tests for all of my installed dependents of
None of these seem to have anything to do with this PR. I can't promise there won't be performance regressions that nevertheless allow the tests to pass, but I think we've done due diligence here. |
Revert "Merge pull request #80 from JuliaMath/teh/perf"
This leads to a ~30% performance improvement in certain operations. It has a noticeable effect on visualizations.
This doesn't make conversions "perfect," though: