Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Perf] Linux/x64: 26 Regressions on 10/18/2024 8:32:15 PM - Churn from Block Layout Changes #109122

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

Closed
performanceautofiler bot opened this issue Oct 22, 2024 · 4 comments
Assignees
Labels
arch-x64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI os-linux Linux OS (any supported distro) runtime-coreclr specific to the CoreCLR runtime tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark
Milestone

Comments

@performanceautofiler
Copy link

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in PerfLabTests.CastingPerf2.CastingPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
442.19 μs 465.63 μs 1.05 0.02 False
247.17 μs 292.51 μs 1.18 0.21 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.CastingPerf2.CastingPerf*'

PerfLabTests.CastingPerf2.CastingPerf.IFooFooIsIFoo

ETL Files

Histogram

JIT Disasms

PerfLabTests.CastingPerf2.CastingPerf.FooObjCastIfIsa

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in PerfLabTests.LowLevelPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
156.56 μs 202.37 μs 1.29 0.10 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.LowLevelPerf*'

PerfLabTests.LowLevelPerf.GenericClassWithSTringGenericInstanceMethod

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in MicroBenchmarks.Serializers.Json_ToStream<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
620.90 ns 697.32 ns 1.12 0.24 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;LoginViewModel&gt;*'

MicroBenchmarks.Serializers.Json_ToStream<LoginViewModel>.DataContractJsonSerializer_

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
6.56 ns 8.41 ns 1.28 0.12 False
6.67 ns 8.37 ns 1.25 0.13 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark*'

Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_3Injected

ETL Files

Histogram

JIT Disasms

Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_1Injected

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Memory.Span<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
7.58 ns 9.35 ns 1.23 0.04 False
4.51 ns 6.00 ns 1.33 0.07 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span&lt;Byte&gt;*'

System.Memory.Span<Byte>.BinarySearch(Size: 512)

ETL Files

Histogram

JIT Disasms

System.Memory.Span<Byte>.BinarySearch(Size: 33)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.IO.Tests.Perf_FileInfo

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
75.89 ns 89.60 ns 1.18 0.04 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.Perf_FileInfo*'

System.IO.Tests.Perf_FileInfo.ctor_str

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Collections.Perf_Frozen<ReferenceType>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
588.56 ns 657.92 ns 1.12 0.01 False
52.05 ns 55.18 ns 1.06 0.02 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Perf_Frozen&lt;ReferenceType&gt;*'

System.Collections.Perf_Frozen<ReferenceType>.TryGetValue_True(Count: 64)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_Frozen<ReferenceType>.TryGetValue_True(Count: 4)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in IfStatements.IfStatements

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
20.21 μs 22.30 μs 1.10 0.02 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'IfStatements.IfStatements*'

IfStatements.IfStatements.SingleArray

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Buffers.Text.Tests.Utf8FormatterTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
42.44 ns 46.40 ns 1.09 0.02 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Utf8FormatterTests*'

System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDecimal(value: 123456.789)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in PerfLabTests.CastingPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
251.00 μs 289.27 μs 1.15 0.02 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.CastingPerf*'

PerfLabTests.CastingPerf.FooObjCastIfIsa

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
343.76 ms 378.33 ms 1.10 0.14 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests*'

System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests.Base64EncodeInPlace(NumberOfBytes: 200000000)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.IO.Tests.Perf_Path

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.32 ns 4.66 ns 1.40 0.02 False
253.30 ns 268.53 ns 1.06 0.02 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.Perf_Path*'

System.IO.Tests.Perf_Path.HasExtension

ETL Files

Histogram

JIT Disasms

System.IO.Tests.Perf_Path.GetFullPathForLegacyLength

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
44.53 ns 59.69 ns 1.34 0.02 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_BigInteger*'

System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Globalization.Tests.StringSearch

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
713.08 ns 863.24 ns 1.21 0.01 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Globalization.Tests.StringSearch*'

System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, OrdinalIgnoreCase, False))

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Collections.ContainsFalse<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
246.30 μs 358.23 μs 1.45 0.03 False
247.01 μs 358.56 μs 1.45 0.01 True
247.07 μs 358.65 μs 1.45 0.02 True

graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsFalse&lt;String&gt;*'

System.Collections.ContainsFalse<String>.Queue(Size: 512)

ETL Files

Histogram

JIT Disasms

System.Collections.ContainsFalse<String>.List(Size: 512)

ETL Files

Histogram

JIT Disasms

System.Collections.ContainsFalse<String>.ICollection(Size: 512)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@performanceautofiler performanceautofiler bot added arch-x64 os-linux Linux OS (any supported distro) runtime-coreclr specific to the CoreCLR runtime untriaged New issue has not been triaged by the area owner labels Oct 22, 2024
Copy link
Author

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in Benchstone.BenchI.XposMatrix

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
12.30 μs 13.73 μs 1.12 0.01 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.BenchI.XposMatrix*'

Benchstone.BenchI.XposMatrix.Test

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Collections.TryGetValueTrue<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
12.25 μs 13.03 μs 1.06 0.02 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueTrue&lt;Int32, Int32&gt;*'

System.Collections.TryGetValueTrue<Int32, Int32>.ImmutableDictionary(Size: 512)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.MathBenchmarks.Double

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
5.80 μs 6.89 μs 1.19 0.02 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.MathBenchmarks.Double*'

System.MathBenchmarks.Double.ILogB

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 24dd2bc956efb7485c667be6433aef107af793a9
Compare d6ca550be9c92e7724b986d48983ccaa89704538
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
84.71 ns 115.26 ns 1.36 0.04 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_String*'

System.Tests.Perf_String.IndexerCheckPathLength

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@DrewScoggins DrewScoggins transferred this issue from dotnet/perf-autofiling-issues Oct 22, 2024
@ghost ghost added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Oct 22, 2024
@DrewScoggins DrewScoggins changed the title [Perf] Linux/x64: 26 Regressions on 10/18/2024 8:32:15 PM [Perf] Linux/x64: 26 Regressions on 10/18/2024 8:32:15 PM - Churn from Block Layout Changes Oct 22, 2024
@DrewScoggins DrewScoggins added tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark labels Oct 22, 2024
@DrewScoggins
Copy link
Member

DrewScoggins commented Oct 22, 2024

@jeffschwMSFT jeffschwMSFT added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Oct 23, 2024
Copy link
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

@JulieLeeMSFT JulieLeeMSFT removed the untriaged New issue has not been triaged by the area owner label Oct 24, 2024
@JulieLeeMSFT JulieLeeMSFT added this to the 10.0.0 milestone Oct 24, 2024
@vcsjones vcsjones removed the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Oct 24, 2024
@amanasifkhalid
Copy link
Member

Notes Recent Score Orig Score x64 Ubuntu x64 Windows amd64 Windows Benchmark
110.49 1.34 110.49
1.34
System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString: 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
1.93 1.45 1.93
1.45
System.Collections.ContainsFalse(String).Queue(Size: 512)
1.45 1.45 1.45
1.45
System.Collections.ContainsFalse(String).ICollection(Size: 512)
1.26 1.33 1.26
1.33
System.Memory.Span(Byte).BinarySearch(Size: 33)
1.24 1.18 1.24
1.18
System.IO.Tests.Perf_FileInfo.ctor_str
1.23 1.28 1.23
1.28
Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_3Injected
1.23 1.15 1.23
1.15
PerfLabTests.CastingPerf.FooObjCastIfIsa
1.22 1.25 1.22
1.25
Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_1Injected
1.22 1.23 1.22
1.23
System.Memory.Span(Byte).BinarySearch(Size: 512)
1.19 1.06 1.19
1.06
System.IO.Tests.Perf_Path.GetFullPathForLegacyLength
1.12 1.21 1.12
1.21
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, OrdinalIgnoreCase, False))
1.11 1.15 1.11
1.15
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreCase, False))
1.11 1.15 1.11
1.15
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, IgnoreCase, False))
1.10 1.28 1.10
1.28
System.Collections.TryGetValueTrue(Int32, Int32).ConcurrentDictionary(Size: 512)
1.10 1.14 1.10
1.14
System.Net.Primitives.Tests.IPAddressPerformanceTests.Ctor_Span(address: [16, 32, 48, 64, 80, ...])
1.09 1.12 1.09
1.12
System.Collections.Perf_Frozen(ReferenceType).TryGetValue_True(Count: 64)
1.09 1.10 1.09
1.10
IfStatements.IfStatements.SingleArray
1.06 1.05 1.06
1.05
PerfLabTests.CastingPerf2.CastingPerf.IFooFooIsIFoo
1.04 1.37 1.04
1.37
System.Collections.TryAddDefaultSize(Int32).Dictionary(Count: 512)
1.02 1.10 1.02
1.10
System.Tests.Perf_Int16.ToString(value: -32768)
1.01 1.10 1.01
1.10
System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests.Base64EncodeInPlace(NumberOfBytes: 200000000)
1.01 1.06 1.01
1.06
System.Collections.Perf_Frozen(ReferenceType).TryGetValue_True(Count: 4)
1.00 1.12 1.00
1.12
MicroBenchmarks.Serializers.Json_ToStream(LoginViewModel).DataContractJsonSerializer_
1.00 1.16 1.00
1.16
System.Collections.AddGivenSize(String).List(Size: 512)
1.00 1.10 1.00
1.10
PerfLabTests.LowLevelPerf.InterfaceInterfaceMethod
1.00 1.18 1.00
1.18
PerfLabTests.CastingPerf2.CastingPerf.FooObjCastIfIsa
0.99 1.10 0.99
1.10
System.Collections.CreateAddAndRemove(String).Stack(Size: 512)
0.98 1.09 0.98
1.09
System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDecimal(value: 123456.789)
0.98 1.45 0.98
1.45
System.Collections.ContainsFalse(String).List(Size: 512)
0.93 1.06 0.93
1.06
System.Collections.CreateAddAndRemove(String).Dictionary(Size: 512)
0.92 1.08 0.92
1.08
System.Collections.CreateAddAndClear(String).Array(Size: 512)
0.91 1.11 0.91
1.11
System.Collections.CreateAddAndClear(String).Queue(Size: 512)
0.87 1.41 0.87
1.41
System.Collections.ContainsTrue(String).Queue(Size: 512)
0.84 1.29 0.84
1.29
PerfLabTests.LowLevelPerf.GenericClassWithSTringGenericInstanceMethod
0.78 1.40 0.78
1.40
System.IO.Tests.Perf_Path.HasExtension
0.67 1.28 0.67
1.28
System.Tests.Perf_Int32.ToStringHex(value: 12345)

The recent score calculation for System.Numerics.Tests.Perf_BigInteger.ToByteArray is almost certainly wrong; I don't see a corresponding spike in the graph.

The remaining regressions are all on Intel machines, and iterative block layout work has changed the lengths of jumps into the cold code section by changing the relative ordering of blocks (for example, we used to place cold blocks in RPO, whereas we now don't reorder cold blocks at all). For triaging layout-related regressions, I've been placing less weight on Intel regressions due to the amount of noise introduced by JCC errata; considering the AMD regressions have improved upon their baselines by quite a bit, I feel justified in closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-x64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI os-linux Linux OS (any supported distro) runtime-coreclr specific to the CoreCLR runtime tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark
Projects
None yet
Development

No branches or pull requests

5 participants