Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[Perf] Linux/x64: 41 Improvements on 2/13/2025 7:33:10 PM +00:00 #50438

Closed
performanceautofiler bot opened this issue Feb 18, 2025 · 2 comments
Closed
Labels
arch-x64 branch-refs/heads/main kind-micro os-linux perf-improvement PGO Applied if there were any profile guided optimization updates in the observed interval. runtime-coreclr

Comments

@performanceautofiler
Copy link

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 617f9ee5f357a52309f21a732df04a87ee16adc9
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.ReadOnlySequence

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
35.40 ns 31.40 ns 0.89 0.05 False
2.49 ns 0.01 ns 0.00 0.41 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.ReadOnlySequence*'

System.Memory.ReadOnlySequence.Slice_Repeat(Segment: Multiple)

ETL Files

Histogram

JIT Disasms

System.Memory.ReadOnlySequence.Slice_Start(Segment: Single)

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 68a88d16fd0dc689081d6e401837e1c2143fbf53
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.Primitives.StringSegmentBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
5.58 ns 4.54 ns 0.81 0.06 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 'Microsoft.Extensions.Primitives.StringSegmentBenchmark*'

Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Valid

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 1c3b1b5835cce7c61bb5c7bdab8468bb6ced47b6
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Formats.Cbor.Tests.Perf_CborWriter

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
359.59 ns 333.78 ns 0.93 0.06 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.Formats.Cbor.Tests.Perf_CborWriter*'

System.Formats.Cbor.Tests.Perf_CborWriter.WriteCoseKey(publicKey: ECDSA_P521)

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 617f9ee5f357a52309f21a732df04a87ee16adc9
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Type

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
939.04 ns 810.55 ns 0.86 0.20 False
1.21 μs 1.00 μs 0.83 0.15 False
1.05 μs 936.54 ns 0.89 0.19 False
1.02 μs 889.42 ns 0.87 0.19 False
1.05 μs 953.84 ns 0.91 0.18 False
1.11 μs 986.26 ns 0.89 0.15 False
1.05 μs 935.72 ns 0.89 0.19 False
635.33 ns 515.80 ns 0.81 0.45 False
1.01 μs 883.50 ns 0.87 0.18 False
1.11 μs 929.08 ns 0.84 0.21 False
1.06 μs 897.31 ns 0.84 0.17 False
4.12 μs 3.86 μs 0.94 0.05 False
1.15 μs 980.66 ns 0.86 0.18 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
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.Tests.Perf_Type*'

System.Tests.Perf_Type.GetType_NonFullyQualifiedNames(input: "System.Int32")

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_FullyQualifiedNames(input: typeof(System.Int32*))

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_NonFullyQualifiedNames(input: "System.Int32[*]")

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_FullyQualifiedNames(input: typeof(int))

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_NonFullyQualifiedNames(input: "System.Int32&")

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_FullyQualifiedNames(input: typeof(System.Int32[*]))

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_NonFullyQualifiedNames(input: "System.Int32[,]")

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_InvalidName

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_NonFullyQualifiedNames(input: "System.Int32[]")

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_FullyQualifiedNames(input: typeof(System.Tests.Nested))

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_NonFullyQualifiedNames(input: "System.Int32*")

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_FullyQualifiedNames(input: typeof(System.Tests.NestedGeneric<String, Boolean>))

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Type.GetType_FullyQualifiedNames(input: typeof(System.Int32&))

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 617f9ee5f357a52309f21a732df04a87ee16adc9
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Burgers

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
181.85 ms 167.85 ms 0.92 0.05 False
223.07 ms 170.60 ms 0.76 0.04 False
308.87 ms 214.87 ms 0.70 0.04 False

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 'Burgers*'

Burgers.Test3

ETL Files

Histogram

JIT Disasms

Burgers.Test1

ETL Files

Histogram

JIT Disasms

Burgers.Test0

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 68a88d16fd0dc689081d6e401837e1c2143fbf53
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Int16

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
9.00 ns 7.90 ns 0.88 0.06 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_Int16*'

System.Tests.Perf_Int16.TryParse(value: "0")

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 68a88d16fd0dc689081d6e401837e1c2143fbf53
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Exceptions.Handling

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
7.80 μs 7.14 μs 0.92 0.03 False
2.18 μs 1.98 μs 0.91 0.05 False
37.41 μs 33.53 μs 0.90 0.05 False
1.97 μs 1.80 μs 0.91 0.06 False
2.04 μs 1.83 μs 0.89 0.06 False
32.71 μs 30.80 μs 0.94 0.04 False
2.04 μs 1.92 μs 0.94 0.06 False

graph
graph
graph
graph
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 'Exceptions.Handling*'

Exceptions.Handling.ThrowAndCatch_ManyCatchBlocks(kind: ReflectionSoftware)

ETL Files

Histogram

JIT Disasms

Exceptions.Handling.MultipleNestedTryFinally(kind: Software)

ETL Files

Histogram

JIT Disasms

Exceptions.Handling.CatchAndRethrowDeep(kind: Hardware)

ETL Files

Histogram

JIT Disasms

Exceptions.Handling.ThrowAndCatch(kind: Software)

ETL Files

Histogram

JIT Disasms

Exceptions.Handling.ThrowAndCatchFinally(kind: Software)

ETL Files

Histogram

JIT Disasms

Exceptions.Handling.CatchAndRethrowDeep(kind: Software)

ETL Files

Histogram

JIT Disasms

Exceptions.Handling.ThrowAndCatchWhenFinally(kind: Software)

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 617f9ee5f357a52309f21a732df04a87ee16adc9
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.TryGetValueTrue<BigStruct, BigStruct>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
20.14 μs 13.21 μs 0.66 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 'System.Collections.TryGetValueTrue&lt;BigStruct, BigStruct&gt;*'

System.Collections.TryGetValueTrue<BigStruct, BigStruct>.ImmutableSortedDictionary(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 branch-refs/heads/main kind-micro os-linux perf-improvement PGO Applied if there were any profile guided optimization updates in the observed interval. runtime-coreclr untriaged labels Feb 18, 2025
Copy link
Author

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 617f9ee5f357a52309f21a732df04a87ee16adc9
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
113.10 ns 97.59 ns 0.86 0.03 False
113.98 ns 98.52 ns 0.86 0.04 False
113.19 ns 98.59 ns 0.87 0.03 False
113.37 ns 98.68 ns 0.87 0.01 False

graph
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.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals*'

System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_SameReference

ETL Files

Histogram

JIT Disasms

System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_CascadingErrors

ETL Files

Histogram

JIT Disasms

System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_Equal

ETL Files

Histogram

JIT Disasms

System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_LastBitDifferent

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 68a88d16fd0dc689081d6e401837e1c2143fbf53
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.ContainsTrue<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
179.19 μs 108.66 μs 0.61 0.03 False
178.67 μs 109.13 μs 0.61 0.03 False
827.11 μs 648.67 μs 0.78 0.27 False
178.56 μs 110.30 μs 0.62 0.02 False

graph
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.ContainsTrue&lt;String&gt;*'

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

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

System.Collections.ContainsTrue<String>.ImmutableList(Size: 512)

ETL Files

Histogram

JIT Disasms

System.Collections.ContainsTrue<String>.ICollection(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 617f9ee5f357a52309f21a732df04a87ee16adc9
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.27 μs 1.16 μs 0.91 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.Tensors.Tests.Perf_FloatingPointTensorPrimitives&lt;Single&gt;*'

System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Ieee754Remainder_ScalarDividend(BufferLength: 128)

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 1c3b1b5835cce7c61bb5c7bdab8468bb6ced47b6
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in IfStatements.IfStatements

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
33.63 μs 29.01 μs 0.86 0.06 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.AndAndAnd

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 617f9ee5f357a52309f21a732df04a87ee16adc9
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.TryGetValueFalse<BigStruct, BigStruct>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
21.91 μs 18.08 μs 0.83 0.07 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.TryGetValueFalse&lt;BigStruct, BigStruct&gt;*'

System.Collections.TryGetValueFalse<BigStruct, BigStruct>.ImmutableSortedDictionary(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 1c3b1b5835cce7c61bb5c7bdab8468bb6ced47b6
Compare 10532bf68fdc01cd859870bdaef60f26891ddba4
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in PerfLabTests.LowLevelPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
604.50 μs 537.92 μs 0.89 0.03 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.InterfaceInterfaceMethodSwitchCallType

ETL Files

Histogram

JIT Disasms

Docs

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

@AndyAyersMS
Copy link
Member

Guessing mostly from dotnet/runtime#112060

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
arch-x64 branch-refs/heads/main kind-micro os-linux perf-improvement PGO Applied if there were any profile guided optimization updates in the observed interval. runtime-coreclr
Projects
None yet
Development

No branches or pull requests

1 participant