-
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.Collections.Tests.Perf_BitArray #85472
Comments
Run Information
Regressions in System.Collections.ContainsTrue<String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsTrue<String>*' PayloadsHistogramSystem.Collections.ContainsTrue<String>.ICollection(Size: 512)
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in PerfLabTests.CastingPerf
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.CastingPerf*' PayloadsHistogramPerfLabTests.CastingPerf.ScalarValueTypeObj
Description of detection logic
JIT DisasmsPerfLabTests.CastingPerf.ObjrefValueTypeObj
Description of detection logic
JIT DisasmsPerfLabTests.CastingPerf.IntObj
Description of detection logic
JIT DisasmsPerfLabTests.CastingPerf.FooObjIsFoo
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.MathBenchmarks.Single
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.MathBenchmarks.Single*' PayloadsHistogramSystem.MathBenchmarks.Single.Hypot
Description of detection logic
JIT DisasmsSystem.MathBenchmarks.Single.Exp
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.TryGetValueFalse<Int32, Int32>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueFalse<Int32, Int32>*' PayloadsHistogramSystem.Collections.TryGetValueFalse<Int32, Int32>.FrozenDictionaryOptimized(Size: 512)
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.ContainsFalse<String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsFalse<String>*' PayloadsHistogramSystem.Collections.ContainsFalse<String>.Span(Size: 512)
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Linq.Tests.Perf_Enumerable
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_Enumerable*' PayloadsHistogramSystem.Linq.Tests.Perf_Enumerable.EmptyTakeSelectToArray
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in PerfLabTests.CastingPerf2.CastingPerf
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.CastingPerf2.CastingPerf*' PayloadsHistogramPerfLabTests.CastingPerf2.CastingPerf.IntObj
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.IterateForEach<String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach<String>*' PayloadsHistogramSystem.Collections.IterateForEach<String>.FrozenDictionary(Size: 512)
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.IO.Tests.Perf_Path
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.Perf_Path*' PayloadsHistogramSystem.IO.Tests.Perf_Path.GetFileNameWithoutExtension
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Buffers.Text.Tests.Utf8ParserTests
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Utf8ParserTests*' PayloadsHistogramSystem.Buffers.Text.Tests.Utf8ParserTests.TryParseSingle(value: 12345)
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.IO.Tests.BinaryWriterExtendedTests
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.BinaryWriterExtendedTests*' PayloadsHistogramSystem.IO.Tests.BinaryWriterExtendedTests.WriteAsciiCharArray(StringLengthInChars: 2000000)
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository |
Run Information
Regressions in SciMark2.kernel
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'SciMark2.kernel*' PayloadsHistogramSciMark2.kernel.benchMonteCarlo
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Buffers.Tests.ReadOnlySequenceTests<Char>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Tests.ReadOnlySequenceTests<Char>*' PayloadsHistogramSystem.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateTryGetArray
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository |
@cincuranet - can you check the commit range between 4/15 and 4/17 of when it regressed? |
@kunalspathak The regression first occurred between 9c02b25...e92289a or possibly 2d833f4...e92289a (taking |
Thanks @cincuranet for finding out. @AndyAyersMS - could this be from #84817? |
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsRun Information
Regressions in System.Collections.Tests.Perf_BitArray
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_BitArray*' PayloadsHistogramSystem.Collections.Tests.Perf_BitArray.BitArraySetAll(Size: 512)
Description of detection logic
JIT DisasmsSystem.Collections.Tests.Perf_BitArray.BitArrayOr(Size: 512)
Description of detection logic
JIT DisasmsSystem.Collections.Tests.Perf_BitArray.BitArrayNot(Size: 512)
Description of detection logic
JIT DisasmsSystem.Collections.Tests.Perf_BitArray.BitArrayXor(Size: 512)
Description of detection logic
JIT DisasmsSystem.Collections.Tests.Perf_BitArray.BitArrayAnd(Size: 512)
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Tests.Perf_Double
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Double*' PayloadsHistogramSystem.Tests.Perf_Double.ToStringWithFormat(value: -1.7976931348623157E+308, format: "G17")
Description of detection logic
JIT DisasmsSystem.Tests.Perf_Double.ToStringWithFormat(value: 1.7976931348623157E+308, format: "G")
Description of detection logic
JIT DisasmsSystem.Tests.Perf_Double.ToStringWithFormat(value: -1.7976931348623157E+308, format: "G")
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Tests.Perf_Enum
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Enum*' PayloadsHistogramSystem.Tests.Perf_Enum.ToString_Flags(value: 36)
Description of detection logic
JIT DisasmsSystem.Tests.Perf_Enum.ToString_Flags(value: 32)
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Numerics.Tests.Perf_BitOperations
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_BitOperations*' PayloadsHistogramSystem.Numerics.Tests.Perf_BitOperations.LeadingZeroCount_ulong
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Text.Json.Tests.Perf_Deep
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Deep*' PayloadsHistogramSystem.Text.Json.Tests.Perf_Deep.WriteDeepUtf16(Formatted: False, SkipValidation: True)
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Memory.Span<Int32>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span<Int32>*' PayloadsHistogramSystem.Memory.Span<Int32>.EndsWith(Size: 512)
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Numerics.Tests.Perf_BigInteger
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_BigInteger*' PayloadsHistogramSystem.Numerics.Tests.Perf_BigInteger.Subtract(arguments: 16,16 bits)
Description of detection logic
JIT DisasmsSystem.Numerics.Tests.Perf_BigInteger.ToStringX(numberString: 123)
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Text.Tests.Perf_Encoding
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Tests.Perf_Encoding*' PayloadsHistogramSystem.Text.Tests.Perf_Encoding.GetBytes(size: 16, encName: "utf-8")
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Tests.Perf_Single
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Single*' PayloadsHistogramSystem.Tests.Perf_Single.ToStringWithFormat(value: 3.4028235E+38, format: "G17")
Description of detection logic
JIT DisasmsSystem.Tests.Perf_Single.ToStringWithFormat(value: -3.4028235E+38, format: "G17")
Description of detection logic
JIT DisasmsDocsProfiling workflow for dotnet/runtime repository
|
Here's the full set, sorted from worst to least worst. Note we are just evaluating the regression between 4/12 and 4/17 here.
|
System.Numerics.Tests.Perf_BigInteger.Subtract(arguments: 16,16 bits)The regression on 4/14 is amd64 only, about 2ns slowdown. Since then things have gotten even worse, the regression on 5/2 looks like it may be from #85620 (see dotnet/perf-autofiling-issues#17605) which was (hopefully) fixed by #86246. So we should check back in a day or two and see where this test has ended up.
This seems to be largely fixed, indeed improved by PGO, but has recently back slid some. |
Collated and updated. First few are bimodal, remainder are small.
|
Run Information
Regressions in System.Collections.Tests.Perf_BitArray
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
System.Collections.Tests.Perf_BitArray.BitArraySetAll(Size: 512)
Description of detection logic
JIT Disasms
System.Collections.Tests.Perf_BitArray.BitArrayOr(Size: 512)
Description of detection logic
JIT Disasms
System.Collections.Tests.Perf_BitArray.BitArrayNot(Size: 512)
Description of detection logic
JIT Disasms
System.Collections.Tests.Perf_BitArray.BitArrayXor(Size: 512)
Description of detection logic
JIT Disasms
System.Collections.Tests.Perf_BitArray.BitArrayAnd(Size: 512)
Description of detection logic
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Tests.Perf_Double
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
System.Tests.Perf_Double.ToStringWithFormat(value: -1.7976931348623157E+308, format: "G17")
Description of detection logic
JIT Disasms
System.Tests.Perf_Double.ToStringWithFormat(value: 1.7976931348623157E+308, format: "G")
Description of detection logic
JIT Disasms
System.Tests.Perf_Double.ToStringWithFormat(value: -1.7976931348623157E+308, format: "G")
Description of detection logic
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Tests.Perf_Enum
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
System.Tests.Perf_Enum.ToString_Flags(value: 36)
Description of detection logic
JIT Disasms
System.Tests.Perf_Enum.ToString_Flags(value: 32)
Description of detection logic
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Numerics.Tests.Perf_BitOperations
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
System.Numerics.Tests.Perf_BitOperations.LeadingZeroCount_ulong
Description of detection logic
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Text.Json.Tests.Perf_Deep
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
System.Text.Json.Tests.Perf_Deep.WriteDeepUtf16(Formatted: False, SkipValidation: True)
Description of detection logic
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Memory.Span<Int32>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
System.Memory.Span<Int32>.EndsWith(Size: 512)
Description of detection logic
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Numerics.Tests.Perf_BigInteger
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
System.Numerics.Tests.Perf_BigInteger.Subtract(arguments: 16,16 bits)
Description of detection logic
JIT Disasms
System.Numerics.Tests.Perf_BigInteger.ToStringX(numberString: 123)
Description of detection logic
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Text.Tests.Perf_Encoding
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
System.Text.Tests.Perf_Encoding.GetBytes(size: 16, encName: "utf-8")
Description of detection logic
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Tests.Perf_Single
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
System.Tests.Perf_Single.ToStringWithFormat(value: 3.4028235E+38, format: "G17")
Description of detection logic
JIT Disasms
System.Tests.Perf_Single.ToStringWithFormat(value: -3.4028235E+38, format: "G17")
Description of detection logic
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: