Skip to content

[Perf] Windows/arm64: 9 Improvements on 10/10/2022 3:36:43 PM #8921

@performanceautofiler

Description

@performanceautofiler

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline 636777273b152a34bb244b35527ca563735efa35
Compare 43f7699377fff108c74e19bea9f7ecf66286952f
Diff Diff

Improvements in Devirtualization.EqualityComparer

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ValueTupleCompareCached - Duration of single invocation 10.58 ns 5.19 ns 0.49 0.27 False
ValueTupleCompareWrapped - Duration of single invocation 9.98 ns 5.10 ns 0.51 0.13 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Devirtualization.EqualityComparer*'

Related Issues

Regressions

Improvements

Payloads

Baseline
Compare

Histogram

Edge Detector Info

Collection Data

Devirtualization.EqualityComparer.ValueTupleCompareCached


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 5.185456714544601 < 10.090132925770229.
IsChangePoint: Marked as a change because one of 10/7/2022 7:50:02 PM, 10/13/2022 2:25:23 AM falls between 10/4/2022 9:16:29 AM and 10/13/2022 2:25:23 AM.
IsImprovementStdDev: Marked as improvement because 53.211944416150565 (T) = (0 -4.971177528909965) / Math.Sqrt((0.5076150627665681 / (299)) + (0.07531141324686796 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.5301496113943598 = (10.580341422431866 - 4.971177528909965) / 10.580341422431866 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Devirtualization.EqualityComparer.ValueTupleCompareWrapped

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 5.103552128242997 < 9.887948414937636.
IsChangePoint: Marked as a change because one of 10/7/2022 7:50:02 PM, 10/13/2022 2:25:23 AM falls between 10/4/2022 9:16:29 AM and 10/13/2022 2:25:23 AM.
IsImprovementStdDev: Marked as improvement because 54.32041662980505 (T) = (0 -4.798542925506535) / Math.Sqrt((0.22792765613546848 / (299)) + (0.07575181316332068 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.5338070587601808 = (10.29304071559948 - 4.798542925506535) / 10.29304071559948 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

### Run Information
Architecture arm64
OS Windows 10.0.19041
Baseline 636777273b152a34bb244b35527ca563735efa35
Compare 43f7699377fff108c74e19bea9f7ecf66286952f
Diff Diff

Improvements in System.Threading.Tasks.ValueTaskPerfTest

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Copy_PassAsArgumentAndReturn_FromResult - Duration of single invocation 6.20 ns 3.59 ns 0.58 0.09 False
Copy_PassAsArgumentAndReturn_FromTask - Duration of single invocation 11.31 ns 7.44 ns 0.66 0.04 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Threading.Tasks.ValueTaskPerfTest*'

Related Issues

Regressions

Improvements

Payloads

Baseline
Compare

Histogram

Edge Detector Info

Collection Data

System.Threading.Tasks.ValueTaskPerfTest.Copy_PassAsArgumentAndReturn_FromResult


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 3.5933094098370497 < 5.900099036950554.
IsChangePoint: Marked as a change because one of 8/30/2022 6:17:03 PM, 10/7/2022 7:50:02 PM, 10/13/2022 2:25:23 AM falls between 10/4/2022 9:16:29 AM and 10/13/2022 2:25:23 AM.
IsImprovementStdDev: Marked as improvement because 43.92568266486424 (T) = (0 -3.7452324446911858) / Math.Sqrt((0.9015896080024345 / (299)) + (0.017525544693789943 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.4583586478255381 = (6.91459843244179 - 3.7452324446911858) / 6.91459843244179 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Threading.Tasks.ValueTaskPerfTest.Copy_PassAsArgumentAndReturn_FromTask

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 7.438186046336183 < 10.593000678986067.
IsChangePoint: Marked as a change because one of 8/30/2022 6:17:03 PM, 10/7/2022 7:50:02 PM, 10/13/2022 2:25:23 AM falls between 10/4/2022 9:16:29 AM and 10/13/2022 2:25:23 AM.
IsImprovementStdDev: Marked as improvement because 20.375837902862376 (T) = (0 -7.729767818424627) / Math.Sqrt((1.219287792396126 / (299)) + (0.32613093177316765 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.35824052347085444 = (12.044649282360194 - 7.729767818424627) / 12.044649282360194 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline 636777273b152a34bb244b35527ca563735efa35
Compare 43f7699377fff108c74e19bea9f7ecf66286952f
Diff Diff

Improvements in System.Memory.MemoryMarshal<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryGetArray - Duration of single invocation 3.97 ns 2.55 ns 0.64 0.43 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.MemoryMarshal&lt;Int32&gt;*'

Related Issues

Regressions

Improvements

Payloads

Baseline
Compare

Histogram

Edge Detector Info

Collection Data

System.Memory.MemoryMarshal<Int32>.TryGetArray


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 2.551503209870051 < 4.2522523096419995.
IsChangePoint: Marked as a change because one of 10/7/2022 7:50:02 PM, 10/13/2022 2:25:23 AM falls between 10/4/2022 9:16:29 AM and 10/13/2022 2:25:23 AM.
IsImprovementStdDev: Marked as improvement because 16.61293226316863 (T) = (0 -2.900111923092604) / Math.Sqrt((0.11027037254605017 / (299)) + (0.06199011878856065 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.34041832272674244 = (4.396895825065679 - 2.900111923092604) / 4.396895825065679 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline 636777273b152a34bb244b35527ca563735efa35
Compare 43f7699377fff108c74e19bea9f7ecf66286952f
Diff Diff

Improvements in System.Text.Tests.Perf_Encoding

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetByteCount - Duration of single invocation 8.91 ns 7.74 ns 0.87 0.16 False
GetByteCount - Duration of single invocation 9.08 ns 7.43 ns 0.82 0.21 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Tests.Perf_Encoding*'

Related Issues

Regressions

Improvements

Payloads

Baseline
Compare

Histogram

Edge Detector Info

Collection Data

System.Text.Tests.Perf_Encoding.GetByteCount(size: 512, encName: "ascii")


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 7.740735643689806 < 8.463949755269702.
IsChangePoint: Marked as a change because one of 8/29/2022 11:36:03 AM, 8/30/2022 12:52:21 AM, 10/7/2022 7:50:02 PM, 10/13/2022 2:25:23 AM falls between 10/4/2022 9:16:29 AM and 10/13/2022 2:25:23 AM.
IsImprovementStdDev: Marked as improvement because 21.758539715121653 (T) = (0 -7.599445308148232) / Math.Sqrt((0.2672606693974147 / (299)) + (0.024550239342843738 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.1527112286387984 = (8.969132561428182 - 7.599445308148232) / 8.969132561428182 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Tests.Perf_Encoding.GetByteCount(size: 16, encName: "ascii")

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 7.425936960770417 < 8.461963149022848.
IsChangePoint: Marked as a change because one of 10/7/2022 7:50:02 PM, 10/13/2022 2:25:23 AM falls between 10/4/2022 9:16:29 AM and 10/13/2022 2:25:23 AM.
IsImprovementStdDev: Marked as improvement because 17.038974223919375 (T) = (0 -7.52022163638497) / Math.Sqrt((0.2920921930174151 / (299)) + (0.04744121344391897 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.1663316793358764 = (9.020639803602169 - 7.52022163638497) / 9.020639803602169 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline 636777273b152a34bb244b35527ca563735efa35
Compare 43f7699377fff108c74e19bea9f7ecf66286952f
Diff Diff

Improvements in Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryGetValueHit - Duration of single invocation 85.83 ns 77.26 ns 0.90 0.30 False
GetHit - Duration of single invocation 86.11 ns 80.34 ns 0.93 0.27 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests*'

Related Issues

Regressions

Improvements

Payloads

Baseline
Compare

Histogram

Edge Detector Info

Collection Data

Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.TryGetValueHit


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 77.25568572749361 < 81.14764270713468.
IsChangePoint: Marked as a change because one of 10/7/2022 7:50:02 PM, 10/13/2022 2:25:23 AM falls between 10/4/2022 9:16:29 AM and 10/13/2022 2:25:23 AM.
IsImprovementStdDev: Marked as improvement because 23.74775067110488 (T) = (0 -77.78995531721411) / Math.Sqrt((7.948178010382046 / (299)) + (0.7522830632323506 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.09586062488043548 = (86.03757059792586 - 77.78995531721411) / 86.03757059792586 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.GetHit

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 80.3423963932433 < 82.57062809516052.
IsChangePoint: Marked as a change because one of 10/7/2022 7:50:02 PM, 10/13/2022 2:25:23 AM falls between 10/4/2022 9:16:29 AM and 10/13/2022 2:25:23 AM.
IsImprovementStdDev: Marked as improvement because 22.831357523499356 (T) = (0 -79.59268011582493) / Math.Sqrt((7.1992366976838325 / (299)) + (1.0844151231921475 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.1082262748197794 = (89.25210271219851 - 79.59268011582493) / 89.25210271219851 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions