-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Regressions in System.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateUsingIndexer and Hashset.ContainsTrue<Int32> #67101
Comments
LIkely #65738 |
Tagging subscribers to this area: @dotnet/area-system-text-json Issue DetailsRun Information
Regressions in System.Text.Json.Document.Tests.Perf_EnumerateArray
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Document.Tests.Perf_EnumerateArray*' PayloadsHistogramSystem.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateUsingIndexer(TestCase: ArrayOfStrings)
Description of detection logic
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository
Regressions in System.Collections.ContainsTrue<Int32>
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.ContainsTrue<Int32>*' PayloadsHistogramSystem.Collections.ContainsTrue<Int32>.HashSet(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository
|
I see no plausible libraries changes in this interval. Moving to VM per suggestion above, but it could be something else. |
The System.Text.Json.Document.Tests.Perf_EnumerateArray regression isn't from the #65738, it has occurred two days before that change went in. |
Ah yes, Hashset and Enumerate using indexer commit range -- a1bc0f3...5371203 (includes #66456, which might be totally innocent still) enumerate array commit range: 6bf873a...bc5e386. The plausible candidate there is (#66618 (cc @AndyAyersMS ?) @DrewScoggins it seems the 3 regressions in this issue occurred across 2 different intervals so ought to have 2 issues. analysis script glitch maybe? |
I also notice that the commit range above (eg., the first one) is 17 commits, but from the graph, I think it should span only 8 commits. |
Yeah, in general the auto-filer can do a good job of putting changes together that happened at the same time. Sometimes however, the actual point that the changepoint algorithm picks is several points off from where the actual changepoint is. This is an underlying weakness inherent in the algorithm. Normally, when we do the triage we try and make sure that only issues that match together end up in the same place, but this one slipped through. The second piece is that because of this underlying weakness in the algorithm I make the diff link a commit earlier and later then the tool discovers to make sure that we increase the odds of the offending commit being in that range. |
It is checked into an internal repo, but I will put the relevant code here. You will also want to take a look at this package, ruptures, as it is the one we use for the changepoint analysis. You will also find linked there a good paper on changepoint analysis as a field of study. I used that one pretty extensively when I was first building this.
|
Perf_Version.TryFormat2 regression on windows-x64 |
is this still an issue? from @janvorli comment this is not related to VM changes. |
@DrewScoggins is this issue actionable? Based on the charts this looks like its within the range of what things were in 6? |
I am closing this as not-actionable at the moment. |
`### Run Information
Regressions in System.Text.Json.Document.Tests.Perf_EnumerateArray
EnumerateArray- Duration of single invocationmoved to https://github.com/dotnet/runtime/issues/67176Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateUsingIndexer(TestCase: ArrayOfStrings)
Description of detection logic
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Regressions in System.Collections.ContainsTrue<Int32>
Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Collections.ContainsTrue<Int32>.HashSet(Size: 512)
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: