optimizer: fully support inlining of union-split, partially constant-prop' callsite#43347
Conversation
|
@nanosoldier |
|
Does this need TTFP benchmarking or is it good to merge? |
|
I'm happy to do the backporting, but I also would like to run nanosolider before merging in order to assert this commit isn't introducing another performance regression as I did in #42841. |
Instead of TTFP, I'd propose we should switch to using JuliaCI/BaseBenchmarks.jl#288 in order to track latency regressions. |
|
@nanosoldier |
|
bump; will this be included in Julia 1.7.1? |
…prop' callsite Makes full use of constant-propagation, by addressing this [TODO](https://github.com/JuliaLang/julia/blob/00734c5fd045316a00d287ca2c0ec1a2eef6e4d1/base/compiler/ssair/inlining.jl#L1212). Here is a performance improvement from #43287: ```julia ulia> using BenchmarkTools julia> X = rand(ComplexF32, 64, 64); julia> dst = reinterpret(reshape, Float32, X); julia> src = copy(dst); julia> @Btime copyto!($dst, $src); 50.819 μs (1 allocation: 32 bytes) # v1.6.4 41.081 μs (0 allocations: 0 bytes) # this commit ``` fixes #43287
|
@nanosoldier |
|
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. |
|
The benchmark result looks good. I'm also running another benchmark on mit cluster now and would like to get this merged once I confirm there is no obvious regressions in that result tool. |
|
@nanosoldier |
|
On
Benchmark ReportJob PropertiesCommits: https://github.com/JuliaLang/julia@a79e40d61d4d0861c8fcbf15709588fe18ee8f74 vs https://github.com/JuliaLang/julia@85a6990a9c1d49dd5aeaffeb4b38f881dc120823 Comparison Diff: link Triggered By: link Tag Predicate: ResultsNote: If Chrome is your browser, I strongly recommend installing the Wide GitHub Below is a table of this job's results, obtained by running the benchmarks found in The percentages accompanying time and memory values in the below table are noise tolerances. The "true" A ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Version InfoPrimary BuildComparison BuildBenchmark ReportJob PropertiesCommits: https://github.com/JuliaLang/julia@a79e40d61d4d0861c8fcbf15709588fe18ee8f74 vs https://github.com/JuliaLang/julia@85a6990a9c1d49dd5aeaffeb4b38f881dc120823 Comparison Diff: link Triggered By: link Tag Predicate: ResultsNote: If Chrome is your browser, I strongly recommend installing the Wide GitHub Below is a table of this job's results, obtained by running the benchmarks found in The percentages accompanying time and memory values in the below table are noise tolerances. The "true" A ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Version InfoPrimary BuildComparison Build |
|
Your benchmark job has completed - no performance regressions were detected. A full report can be found here. |
…prop' callsite (#43347) Makes full use of constant-propagation, by addressing this [TODO](https://github.com/JuliaLang/julia/blob/00734c5fd045316a00d287ca2c0ec1a2eef6e4d1/base/compiler/ssair/inlining.jl#L1212). Here is a performance improvement from #43287: ```julia ulia> using BenchmarkTools julia> X = rand(ComplexF32, 64, 64); julia> dst = reinterpret(reshape, Float32, X); julia> src = copy(dst); julia> @Btime copyto!($dst, $src); 50.819 μs (1 allocation: 32 bytes) # v1.6.4 41.081 μs (0 allocations: 0 bytes) # this commit ``` fixes #43287
…prop' callsite (#43347) Makes full use of constant-propagation, by addressing this [TODO](https://github.com/JuliaLang/julia/blob/00734c5fd045316a00d287ca2c0ec1a2eef6e4d1/base/compiler/ssair/inlining.jl#L1212). Here is a performance improvement from #43287: ```julia ulia> using BenchmarkTools julia> X = rand(ComplexF32, 64, 64); julia> dst = reinterpret(reshape, Float32, X); julia> src = copy(dst); julia> @Btime copyto!($dst, $src); 50.819 μs (1 allocation: 32 bytes) # v1.6.4 41.081 μs (0 allocations: 0 bytes) # this commit ``` fixes #43287
…prop' callsite (#43347) Makes full use of constant-propagation, by addressing this [TODO](https://github.com/JuliaLang/julia/blob/00734c5fd045316a00d287ca2c0ec1a2eef6e4d1/base/compiler/ssair/inlining.jl#L1212). Here is a performance improvement from #43287: ```julia ulia> using BenchmarkTools julia> X = rand(ComplexF32, 64, 64); julia> dst = reinterpret(reshape, Float32, X); julia> src = copy(dst); julia> @Btime copyto!($dst, $src); 50.819 μs (1 allocation: 32 bytes) # v1.6.4 41.081 μs (0 allocations: 0 bytes) # this commit ``` fixes #43287
…prop' callsite (JuliaLang#43347) Makes full use of constant-propagation, by addressing this [TODO](https://github.com/JuliaLang/julia/blob/00734c5fd045316a00d287ca2c0ec1a2eef6e4d1/base/compiler/ssair/inlining.jl#L1212). Here is a performance improvement from JuliaLang#43287: ```julia ulia> using BenchmarkTools julia> X = rand(ComplexF32, 64, 64); julia> dst = reinterpret(reshape, Float32, X); julia> src = copy(dst); julia> @Btime copyto!($dst, $src); 50.819 μs (1 allocation: 32 bytes) # v1.6.4 41.081 μs (0 allocations: 0 bytes) # this commit ``` fixes JuliaLang#43287
…prop' callsite (JuliaLang#43347) Makes full use of constant-propagation, by addressing this [TODO](https://github.com/JuliaLang/julia/blob/00734c5fd045316a00d287ca2c0ec1a2eef6e4d1/base/compiler/ssair/inlining.jl#L1212). Here is a performance improvement from JuliaLang#43287: ```julia ulia> using BenchmarkTools julia> X = rand(ComplexF32, 64, 64); julia> dst = reinterpret(reshape, Float32, X); julia> src = copy(dst); julia> @Btime copyto!($dst, $src); 50.819 μs (1 allocation: 32 bytes) # v1.6.4 41.081 μs (0 allocations: 0 bytes) # this commit ``` fixes JuliaLang#43287
Makes full use of constant-propagation, by addressing this TODO.
Here is a performance improvement from #43287:
fixes #43287