Skip to content

[Perf] Linux/arm64: 5 Improvements on 10/4/2023 1:30:06 AM #23002

@performanceautofiler

Description

@performanceautofiler

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline 1780220c9b2963e127599accc618208975c4711f
Compare aa2d13ab1789892c9fe7c2dbcd57fea035b1c0e0
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.IO.Tests.Perf_FileStream

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.74 ms 1.15 ms 0.42 0.78 False
5.90 μs 5.08 μs 0.86 0.60 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_FileStream*'

Payloads

Baseline
Compare

System.IO.Tests.Perf_FileStream.AppendAsync(fileSize: 1048576, userBufferSize: 4096, options: DeleteOnClose, Asynchronous)

ETL Files

Histogram

Description of detection logic

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.
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 1.1536774203431372 < 2.142542809395833.
IsChangePoint: Marked as a change because one of 8/18/2023 11:08:41 PM, 10/3/2023 10:08:56 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsImprovementStdDev: Marked as improvement because 4.470219648542138 (T) = (0 -1334364.00070017) / Math.Sqrt((171166239222.65512 / (299)) + (25024340019.995605 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.14727431194897914 = (1564822.0985930136 - 1334364.00070017) / 1564822.0985930136 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.IO.Tests.Perf_FileStream.Read(fileSize: 1024, userBufferSize: 1024, options: None)

ETL Files

Histogram

Description of detection logic

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.
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.082271395199957 < 5.630305386389564.
IsChangePoint: Marked as a change because one of 8/31/2023 1:23:15 PM, 10/2/2023 7:07:56 PM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsImprovementStdDev: Marked as improvement because 8.455964525961894 (T) = (0 -5077.009081415826) / Math.Sqrt((276736.29015048034 / (299)) + (46873.78289175055 / (13))) is greater than 1.9676459287777595 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (13) - 2, .975) and 0.10081217123139403 = (5646.216417729478 - 5077.009081415826) / 5646.216417729478 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

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


Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline 1780220c9b2963e127599accc618208975c4711f
Compare aa2d13ab1789892c9fe7c2dbcd57fea035b1c0e0
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.Span<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
41.83 ns 32.35 ns 0.77 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.Memory.Span&lt;Char&gt;*'

Payloads

Baseline
Compare

System.Memory.Span<Char>.LastIndexOfValue(Size: 512)

ETL Files

Histogram

Description of detection logic

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.
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 32.348158157051536 < 40.725728405276904.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 10/3/2023 10:08:56 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsImprovementStdDev: Marked as improvement because 19.176237377028063 (T) = (0 -33.66264667592932) / Math.Sqrt((16.786924675206805 / (299)) + (0.6838122271155851 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.16079361695367744 = (40.112476925799555 - 33.66264667592932) / 40.112476925799555 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

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


Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline 1780220c9b2963e127599accc618208975c4711f
Compare aa2d13ab1789892c9fe7c2dbcd57fea035b1c0e0
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IndexerSet<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
6.14 μs 4.81 μs 0.78 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.Collections.IndexerSet&lt;Int32&gt;*'

Payloads

Baseline
Compare

System.Collections.IndexerSet<Int32>.Dictionary(Size: 512)

ETL Files

Histogram

Description of detection logic

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.
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 4.807104784286306 < 5.831184496006352.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 6/1/2023 4:59:33 PM, 7/27/2023 8:47:55 AM, 8/4/2023 10:42:53 AM, 9/20/2023 11:58:56 PM, 10/3/2023 10:08:56 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsImprovementStdDev: Marked as improvement because 2.3107911209344083 (T) = (0 -4906.365001233121) / Math.Sqrt((343291.2765827552 / (299)) + (180966.63880442712 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.05660269721235216 = (5200.740967496183 - 4906.365001233121) / 5200.740967496183 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

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


Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline 1780220c9b2963e127599accc618208975c4711f
Compare aa2d13ab1789892c9fe7c2dbcd57fea035b1c0e0
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.IO.MemoryMappedFiles.Tests.Perf_MemoryMappedFile

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
11.47 μs 9.98 μs 0.87 0.39 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.MemoryMappedFiles.Tests.Perf_MemoryMappedFile*'

Payloads

Baseline
Compare

System.IO.MemoryMappedFiles.Tests.Perf_MemoryMappedFile.CreateFromFile(capacity: 10000)

ETL Files

Histogram

Description of detection logic

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.
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 9.980673691728125 < 11.392264305294994.
IsChangePoint: Marked as a change because one of 8/19/2023 8:04:10 PM, 10/3/2023 10:08:56 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsImprovementStdDev: Marked as improvement because 8.323018193939433 (T) = (0 -9880.712029760152) / Math.Sqrt((749977.4473126214 / (299)) + (39934.05571246266 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.06046025894461814 = (10516.545067759647 - 9880.712029760152) / 10516.545067759647 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

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