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

Performance Regression on array indexing BaseBenchmarks due to #52189 #53635

Open
Zentrik opened this issue Mar 7, 2024 · 3 comments
Open

Performance Regression on array indexing BaseBenchmarks due to #52189 #53635

Zentrik opened this issue Mar 7, 2024 · 3 comments
Labels
arrays [a, r, r, a, y, s] performance Must go faster regression Regression in behavior compared to a previous version regression 1.11 Regression in the 1.11 release

Comments

@Zentrik
Copy link
Member

Zentrik commented Mar 7, 2024

There have been quite a few regressions since the memory pr 909bcea (full list).
The biggest regressions seemed to occur between 7f18f76 and f5d189f (regressions between these two commits or see Nanosoldier Report).
Here's some of the worst regressions,

Benchmark % Change
array.index.(sumeach, SubArray{Int32, 2, Matrix{Int32}, Tuple{UnitRange{Int64}, UnitRange{Int64}}, false}) 1550.45%
array.index.(sumcartesian, SubArray{Int32, 2, Matrix{Int32}, Tuple{UnitRange{Int64}, UnitRange{Int64}}, false}) 1547.05%
array.index.(sumcartesian, SubArray{Int32, 2, Matrix{Int32}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}}, true}) 1522.54%
array.index.(sumcartesian, Matrix{Int32}) 1408.69%
array.index.(sumeach, BaseBenchmarks.ArrayBenchmarks.ArrayLSLS{Int32, 2}) 1407.37%
array.index.(sumcartesian, BaseBenchmarks.ArrayBenchmarks.ArrayLF{Int32, 2}) 1404.21%
array.index.(sumeach, BaseBenchmarks.ArrayBenchmarks.ArrayLS{Int32, 2}) 1403.94%
array.index.(sumcartesian, BaseBenchmarks.ArrayBenchmarks.ArrayLS{Int32, 2}) 1398.14%
array.index.(sumcartesian, SubArray{Int32, 2, BaseBenchmarks.ArrayBenchmarks.ArrayLS{Int32, 2}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}}, false}) 1397.78%
array.index.(sumcartesian, BaseBenchmarks.ArrayBenchmarks.ArrayLSLS{Int32, 2}) 1397.29%
array.index.(sumcartesian, Matrix{Int64}) 684.16%

At least for the biggest two regressions, I bisected to #52189

@KristofferC KristofferC added this to the 1.11 milestone Mar 7, 2024
@vchuravy vchuravy added performance Must go faster arrays [a, r, r, a, y, s] labels Mar 7, 2024
@giordano giordano added the regression Regression in behavior compared to a previous version label Mar 7, 2024
@jishnub
Copy link
Contributor

jishnub commented Mar 11, 2024

Xref #53158

@KristofferC KristofferC added the regression 1.11 Regression in the 1.11 release label Jun 3, 2024
@KristofferC KristofferC removed this from the 1.11 milestone Jun 3, 2024
@timholy
Copy link
Member

timholy commented Jul 26, 2024

Since I haven't seen a lot of discussion of this (quite serious) regression, let me at least point out a possible correlate (from JET):

OptimizationFailureReport(failed to optimize due to recursion: Base.wrap(::Type{Array}, ::MemoryRef{UInt8}, ::Int64))

nightly doesn't even have wrap. Is there a backport we should consider?

@KristofferC
Copy link
Member

nightly doesn't even have wrap. Is there a backport we should consider?

#54927

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arrays [a, r, r, a, y, s] performance Must go faster regression Regression in behavior compared to a previous version regression 1.11 Regression in the 1.11 release
Projects
None yet
Development

No branches or pull requests

6 participants