Skip to content

[Perf] Windows/x86: 4 Improvements on 6/2/2023 6:53:36 PM #18504

@performanceautofiler

Description

@performanceautofiler

Run Information

Name Value
Architecture x86
OS Windows 10.0.18362
Queue TigerWindows
Baseline 7febca6802545d8c96e386187d536bc100d40337
Compare 0071d924c2537c2372101fa9fe64a2b37b9e2ca8
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Linq.Tests.Perf_Enumerable

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Except - Duration of single invocation 3.26 μs 2.90 μs 0.89 0.05 False
WhereLast_LastElementMatches - Duration of single invocation 698.63 ns 630.00 ns 0.90 0.04 False
Range - Duration of single invocation 488.59 ns 401.39 ns 0.82 0.09 False
Contains_ElementNotFound - Duration of single invocation 491.76 ns 406.89 ns 0.83 0.03 False

graph
graph
graph
graph
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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_Enumerable*'

Payloads

Baseline
Compare

Histogram

System.Linq.Tests.Perf_Enumerable.Except(input: IEnumerable)


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 2.8975813083534296 < 3.0652380123185194.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 6/2/2023 1:14:24 PM, 6/5/2023 10:43:22 AM falls between 5/27/2023 2:31:56 PM and 6/5/2023 10:43:22 AM.
IsImprovementStdDev: Marked as improvement because 8.459258966191342 (T) = (0 -2981.9880008011446) / Math.Sqrt((16700.845513633587 / (299)) + (27276.864913920017 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.14309932807477477 = (3479.9692642338814 - 2981.9880008011446) / 3479.9692642338814 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Linq.Tests.Perf_Enumerable.WhereLast_LastElementMatches(input: IEnumerable)


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 630.0005726450814 < 676.6841892438581.
IsChangePoint: Marked as a change because one of 3/22/2023 7:51:01 PM, 3/25/2023 12:18:49 AM, 4/28/2023 4:38:49 PM, 5/3/2023 11:54:24 PM, 5/19/2023 10:30:38 AM, 6/2/2023 6:53:36 PM, 6/5/2023 10:43:22 AM falls between 5/27/2023 2:31:56 PM and 6/5/2023 10:43:22 AM.
IsImprovementStdDev: Marked as improvement because 61.041401534431245 (T) = (0 -626.54875112262) / Math.Sqrt((1160.5688440412127 / (299)) + (3.241266120160424 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.16879178735390207 = (753.7807514293469 - 626.54875112262) / 753.7807514293469 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Linq.Tests.Perf_Enumerable.Range


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 401.39264506899013 < 464.77707306392307.
IsChangePoint: Marked as a change because one of 4/25/2023 3:46:39 AM, 5/1/2023 3:42:23 PM, 5/5/2023 12:48:01 AM, 6/2/2023 6:53:36 PM, 6/5/2023 10:43:22 AM falls between 5/27/2023 2:31:56 PM and 6/5/2023 10:43:22 AM.
IsImprovementStdDev: Marked as improvement because 15.286758015844546 (T) = (0 -401.59421194973936) / Math.Sqrt((2300.928360172976 / (299)) + (0.21982801884039216 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.0956858210646802 = (444.0870455249856 - 401.59421194973936) / 444.0870455249856 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Linq.Tests.Perf_Enumerable.Contains_ElementNotFound(input: IEnumerable)


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 406.88697832120226 < 467.21968777554525.
IsChangePoint: Marked as a change because one of 3/25/2023 12:18:49 AM, 4/9/2023 11:04:55 PM, 5/3/2023 11:54:24 PM, 5/26/2023 6:22:05 AM, 6/2/2023 6:53:36 PM, 6/5/2023 10:43:22 AM falls between 5/27/2023 2:31:56 PM and 6/5/2023 10:43:22 AM.
IsImprovementStdDev: Marked as improvement because 37.85139414118076 (T) = (0 -406.2999996300456) / Math.Sqrt((767.885481540854 / (299)) + (0.15254805983663888 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.13038028429488113 = (467.2157177354276 - 406.2999996300456) / 467.2157177354276 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