Skip to content

[Perf] Regressions in System.Memory.ReadOnlySpan #68428

@performanceautofiler

Description

@performanceautofiler

Run Information

Architecture x86
OS Windows 10.0.18362
Baseline 285b8259af30e255980b1ebfb2ddd60ca291a83a
Compare 0c64bdf3afc1fdc9166ad6c22c1990d3e0a6c509
Diff Diff

Regressions in System.Memory.ReadOnlySpan

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IndexOfString - Duration of single invocation 20.22 ns 21.71 ns 1.07 0.01 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.ReadOnlySpan*'
Details

Payloads

Baseline
Compare

Histogram

System.Memory.ReadOnlySpan.IndexOfString(input: "StrIng", value: "string", comparisonType: OrdinalIgnoreCase)


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 21.708424795274013 > 20.97468532055912.
IsChangePoint: Marked as a change because one of 3/17/2022 6:54:53 PM, 4/9/2022 5:43:54 AM, 4/12/2022 5:02:33 PM falls between 4/4/2022 4:14:58 AM and 4/12/2022 5:02:33 PM.
IsRegressionStdDev: Marked as regression because -32.95537559884967 (T) = (0 -21.692417802325732) / Math.Sqrt((0.05449117002768166 / (42)) + (0.015887934761378314 / (15))) is less than -2.0040447832881556 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (42) + (15) - 2, .025) and -0.07962205868801316 = (20.09260335851878 - 21.692417802325732) / 20.09260335851878 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
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

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions