Skip to content

[Perf] Linux/arm64: 4 Improvements on 5/2/2023 7:50:39 PM #17404

@performanceautofiler

Description

@performanceautofiler

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline 3e8f17a65a068fca3d19fa5cd43a7e1cd414a5ae
Compare c5303ae33513e1a2eddceb2986639efd7505115e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Concurrent.Count<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Queue - Duration of single invocation 12.78 ns 10.49 ns 0.82 0.05 False

Test Report

Repro

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

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

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


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 10.486237089170574 < 11.768451919483237.
IsChangePoint: Marked as a change because one of 1/11/2023 5:39:19 AM, 3/14/2023 8:42:09 PM, 4/25/2023 6:46:56 PM, 5/2/2023 12:51:17 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsImprovementStdDev: Marked as improvement because 25.92687640983691 (T) = (0 -10.63891576530929) / Math.Sqrt((1.8237376922939712 / (299)) + (0.02593616378446734 / (3))) is greater than 1.9679030112610798 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (3) - 2, .975) and 0.22834686731259488 = (13.787173685484266 - 10.63891576530929) / 13.787173685484266 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 3e8f17a65a068fca3d19fa5cd43a7e1cd414a5ae
Compare c5303ae33513e1a2eddceb2986639efd7505115e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.AddGivenSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Dictionary - Duration of single invocation 7.82 μs 6.43 μs 0.82 0.02 False
HashSet - Duration of single invocation 7.29 μs 6.11 μs 0.84 0.00 True

Test Report

Repro

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

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

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


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 6.430090243920348 < 7.409548409622751.
IsChangePoint: Marked as a change because one of 2/9/2023 1:41:04 PM, 5/2/2023 12:51:17 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsImprovementStdDev: Marked as improvement because 94.71398304320574 (T) = (0 -6421.917473565428) / Math.Sqrt((26584.84389687347 / (299)) + (325.9476097281581 / (3))) is greater than 1.9679030112610798 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (3) - 2, .975) and 0.17170594396986216 = (7753.185510402556 - 6421.917473565428) / 7753.185510402556 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Collections.AddGivenSize<Int32>.HashSet(Size: 512)


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 6.111858627450979 < 6.939940778921208.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsImprovementStdDev: Marked as improvement because 129.65153445974886 (T) = (0 -6129.4093860545345) / Math.Sqrt((10073.926241296318 / (299)) + (1871.2556410059688 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.17859818672985345 = (7462.132767460382 - 6129.4093860545345) / 7462.132767460382 is greater than 0.05.
IsChangeEdgeDetector: Marked as 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 3e8f17a65a068fca3d19fa5cd43a7e1cd414a5ae
Compare c5303ae33513e1a2eddceb2986639efd7505115e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.TryAddGiventSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Dictionary - Duration of single invocation 7.72 μs 6.40 μs 0.83 0.05 False

Test Report

Repro

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

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Collections.TryAddGiventSize<Int32>.Dictionary(Count: 512)


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 6.403038692306566 < 7.369284203908065.
IsChangePoint: Marked as a change because one of 5/2/2023 12:51:17 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsImprovementStdDev: Marked as improvement because 9.871457743912423 (T) = (0 -6507.616328999836) / Math.Sqrt((28262.64261747224 / (299)) + (42464.671976352736 / (3))) is greater than 1.9679030112610798 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (3) - 2, .975) and 0.15331352933299733 = (7685.981239163141 - 6507.616328999836) / 7685.981239163141 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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions