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

[Perf] Linux/x64: 44 Improvements on 3/7/2024 9:14:14 PM #30906

Open
performanceautofiler bot opened this issue Mar 12, 2024 · 2 comments
Open

[Perf] Linux/x64: 44 Improvements on 3/7/2024 9:14:14 PM #30906

performanceautofiler bot opened this issue Mar 12, 2024 · 2 comments

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Mar 12, 2024

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 8330db998659c4e6410aba370b37e4304a517a2b
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Perf_LengthBucketsFrozenDictionary

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.40 ms 931.34 μs 0.67 0.20 False
10.75 μs 8.73 μs 0.81 0.13 False
2.72 μs 2.38 μs 0.88 0.10 False
98.59 μs 76.33 μs 0.77 0.14 False
2.72 μs 2.35 μs 0.86 0.10 False
89.86 μs 68.43 μs 0.76 0.12 False
11.94 μs 8.58 μs 0.72 0.19 False
1.55 ms 1.10 ms 0.71 0.23 False

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.Collections.Perf_LengthBucketsFrozenDictionary*'

Payloads

Baseline
Compare

System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 10000, ItemsPerBucket: 5)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 100, ItemsPerBucket: 1)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 10, ItemsPerBucket: 1)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 1000, ItemsPerBucket: 1)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 10, ItemsPerBucket: 5)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 1000, ItemsPerBucket: 5)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 100, ItemsPerBucket: 5)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 10000, ItemsPerBucket: 1)

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 8330db998659c4e6410aba370b37e4304a517a2b
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Buffers.Binary.Tests.BinaryReadAndWriteTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.04 μs 3.76 μs 0.93 0.00 True
4.06 μs 3.73 μs 0.92 0.00 True
196.26 ns 166.64 ns 0.85 0.10 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 'System.Buffers.Binary.Tests.BinaryReadAndWriteTests*'

Payloads

Baseline
Compare

System.Buffers.Binary.Tests.BinaryReadAndWriteTests.MeasureReverseEndianness

ETL Files

Histogram

JIT Disasms

System.Buffers.Binary.Tests.BinaryReadAndWriteTests.MeasureReverseUsingNtoH

ETL Files

Histogram

JIT Disasms

System.Buffers.Binary.Tests.BinaryReadAndWriteTests.ReadStructFieldByFieldLE

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 8330db998659c4e6410aba370b37e4304a517a2b
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in PerfLabTests.CastingPerf2.CastingPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.11 ms 1.25 ms 0.59 0.23 False
3.12 ms 1.93 ms 0.62 0.26 False
2.25 ms 1.32 ms 0.59 0.22 False
2.29 ms 1.26 ms 0.55 0.20 False
2.03 ms 1.08 ms 0.53 0.23 False
6.80 ms 5.46 ms 0.80 0.13 False
2.08 ms 524.59 μs 0.25 0.39 False
6.50 ms 4.74 ms 0.73 0.17 False
6.67 ms 5.47 ms 0.82 0.09 False
2.48 ms 1.28 ms 0.52 0.30 False

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 'PerfLabTests.CastingPerf2.CastingPerf*'

Payloads

Baseline
Compare

PerfLabTests.CastingPerf2.CastingPerf.IFooObjIsIFooInterAlia

ETL Files

Histogram

JIT Disasms

PerfLabTests.CastingPerf2.CastingPerf.FooObjIsFoo

ETL Files

Histogram

JIT Disasms

PerfLabTests.CastingPerf2.CastingPerf.IFooObjIsIFoo

ETL Files

Histogram

JIT Disasms

PerfLabTests.CastingPerf2.CastingPerf.IFooObjIsDescendantOfIFoo

ETL Files

Histogram

JIT Disasms

PerfLabTests.CastingPerf2.CastingPerf.FooObjCastIfIsa

ETL Files

Histogram

JIT Disasms

PerfLabTests.CastingPerf2.CastingPerf.ObjScalarValueType

ETL Files

Histogram

JIT Disasms

PerfLabTests.CastingPerf2.CastingPerf.IntObj

ETL Files

Histogram

JIT Disasms

PerfLabTests.CastingPerf2.CastingPerf.ObjInt

ETL Files

Histogram

JIT Disasms

PerfLabTests.CastingPerf2.CastingPerf.ObjObjrefValueType

ETL Files

Histogram

JIT Disasms

PerfLabTests.CastingPerf2.CastingPerf.FooObjIsDescendant

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 8330db998659c4e6410aba370b37e4304a517a2b
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Perf_Frozen<NotKnownComparable>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
33.61 μs 24.87 μs 0.74 0.17 False
47.09 μs 34.71 μs 0.74 0.17 False
398.85 μs 268.22 μs 0.67 0.21 False
284.42 μs 187.58 μs 0.66 0.27 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.Perf_Frozen&lt;NotKnownComparable&gt;*'

Payloads

Baseline
Compare

System.Collections.Perf_Frozen<NotKnownComparable>.ToFrozenDictionary(Count: 64)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_Frozen<NotKnownComparable>.ToFrozenSet(Count: 64)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_Frozen<NotKnownComparable>.ToFrozenSet(Count: 512)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_Frozen<NotKnownComparable>.ToFrozenDictionary(Count: 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 4e86b1c63d9c41c6bfb6f42710be907199ce2671
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.55 μs 447.17 ns 0.18 0.12 False
1.90 μs 441.88 ns 0.23 0.17 False
1.44 μs 444.52 ns 0.31 0.16 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 'Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark*'

Payloads

Baseline
Compare

Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_5Injected

ETL Files

Histogram

JIT Disasms

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 8330db998659c4e6410aba370b37e4304a517a2b
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Perf_SubstringFrozenDictionary

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
761.50 μs 673.04 μs 0.88 0.06 False
98.36 μs 85.48 μs 0.87 0.10 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_SubstringFrozenDictionary*'

Payloads

Baseline
Compare

System.Collections.Perf_SubstringFrozenDictionary.ToFrozenDictionary(Count: 1000)

ETL Files

Histogram

JIT Disasms

System.Collections.Perf_SubstringFrozenDictionary.ToFrozenDictionary(Count: 100)

ETL Files

Histogram

JIT Disasms

Docs

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

Copy link
Author

performanceautofiler bot commented Mar 12, 2024

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 4e86b1c63d9c41c6bfb6f42710be907199ce2671
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Buffers.Tests.ReadOnlySequenceTests<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.14 μs 1.02 μs 0.90 0.14 False
632.91 ns 479.05 ns 0.76 0.24 False
220.71 ns 200.43 ns 0.91 0.16 False
822.51 ns 669.14 ns 0.81 0.19 False
631.29 ns 521.45 ns 0.83 0.22 False

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.Buffers.Tests.ReadOnlySequenceTests&lt;Char&gt;*'

Payloads

Baseline
Compare

System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionTenSegments

ETL Files

Histogram

JIT Disasms

System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionArray

ETL Files

Histogram

JIT Disasms

System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateTryGetArray

ETL Files

Histogram

JIT Disasms

System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionMemory

ETL Files

Histogram

JIT Disasms

System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionSingleSegment

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 8330db998659c4e6410aba370b37e4304a517a2b
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Single

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
13.25 ms 6.50 ms 0.49 0.22 False
3.31 μs 2.79 μs 0.84 0.15 False
12.15 ms 7.10 ms 0.58 0.24 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 'System.Tests.Perf_Single*'

Payloads

Baseline
Compare

System.Tests.Perf_Single.IsNaN(value: NaN)

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Single.ToStringWithFormat(value: 12345, format: "F50")

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Single.IsNaN(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 8330db998659c4e6410aba370b37e4304a517a2b
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in Span.IndexerBench

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.95 μs 2.42 μs 0.82 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 'Span.IndexerBench*'

Payloads

Baseline
Compare

Span.IndexerBench.KnownSizeCtor(length: 1024)

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 4e86b1c63d9c41c6bfb6f42710be907199ce2671
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
196.80 ns 133.77 ns 0.68 0.13 False
153.52 ns 76.73 ns 0.50 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 'System.Runtime.Intrinsics.Tests.Perf_Vector128*'

Payloads

Baseline
Compare

System.Runtime.Intrinsics.Tests.Perf_Vector128.ConvertFloatToUIntBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128.ConvertDoubleToULongBenchmark

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 4e86b1c63d9c41c6bfb6f42710be907199ce2671
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Int64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
260.15 ns 233.62 ns 0.90 0.12 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_Int64*'

Payloads

Baseline
Compare

System.Tests.Perf_Int64.TryParse(value: "9223372036854775807")

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 4e86b1c63d9c41c6bfb6f42710be907199ce2671
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Version

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
465.22 ns 428.06 ns 0.92 0.11 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_Version*'

Payloads

Baseline
Compare

System.Tests.Perf_Version.ToString2

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 8330db998659c4e6410aba370b37e4304a517a2b
Compare da781b3aab1bc30793812bced4a6b64d2df31a9f
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in Benchstone.BenchF.LLoops

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.15 secs 1.89 secs 0.88 0.15 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.BenchF.LLoops*'

Payloads

Baseline
Compare

Benchstone.BenchF.LLoops.Test

ETL Files

Histogram

JIT Disasms

Docs

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

@kg
Copy link
Member

kg commented Mar 12, 2024

Probably dotnet/runtime#99319 and dotnet/runtime#99273

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant