- Sponsor
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Closed
Labels
compiler:optimizerOptimization passes (mostly in base/compiler/ssair/)Optimization passes (mostly in base/compiler/ssair/)performanceMust go fasterMust go faster
Description
@vtjnash detected 1510eaa causes performance regressions, which appear as increased allocations.
I reduce them to:
using BenchmarkTools
include("$(ENV["JULIA_PKG_DEVDIR"])/BaseBenchmarks/src/utils/RandUtils.jl")
using .RandUtils
_abs(x) = abs(x)
_abs(::Nothing) = nothing
const VEC_LENGTH = 10000
T = Bool
S = T
X = Vector{Union{T, Nothing}}(Vector{T}(RandUtils.samerand(S, VEC_LENGTH)));
@benchmark broadcast(identity, $X)
@benchmark broadcast(_abs, $X)
From the output of @code_typed broadcast(identity, X)
, it seems like 1510eaa fails to resolve Base.Broadcast.copyto_nonleaf!(...)
statically somehow.
Metadata
Metadata
Assignees
Labels
compiler:optimizerOptimization passes (mostly in base/compiler/ssair/)Optimization passes (mostly in base/compiler/ssair/)performanceMust go fasterMust go faster
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
optimizer: fix #42840, the performance regression introduced by #42766
optimizer: fix #42840, the performance regression introduced by #42766
optimizer: fix #42840, the performance regression introduced by #42766 (
optimizer: fix #42840, the performance regression introduced by #42766 (
optimizer: fix JuliaLang#42840, the performance regression introduced…
optimizer: fix JuliaLang#42840, the performance regression introduced…