Skip to content

Regressions in System.Tests.Perf_String Case Conversion #80245

Description

@performanceautofiler

Run Information

Architecture arm64
OS Windows 10.0.25094
Baseline 5fdc1882a63dd1e34ad852f9bfc1964c511e5bfb
Compare f85d515e2f64ddd5b014585d2d10a005ce55943e
Diff Diff

Regressions in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToUpperInvariant - Duration of single invocation 28.29 ns 39.48 ns 1.40 0.72 False
ToUpperInvariant - Duration of single invocation 9.05 ns 11.98 ns 1.32 0.77 False
ToUpper - Duration of single invocation 19.02 ns 29.27 ns 1.54 0.71 False
ToLowerInvariant - Duration of single invocation 8.80 ns 12.60 ns 1.43 0.81 False
ToLower - Duration of single invocation 42.54 ns 57.78 ns 1.36 0.68 False
ToLowerInvariant - Duration of single invocation 24.94 ns 36.73 ns 1.47 0.72 False
ToUpper - Duration of single invocation 45.27 ns 52.32 ns 1.16 0.58 False
ToUpper - Duration of single invocation 44.98 ns 56.00 ns 1.24 0.62 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_String*'
Details

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_String.ToUpperInvariant(s: "TeSt")


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 39.47873435471007 > 29.55419313532894.
IsChangePoint: Marked as a change because one of 12/21/2022 4:32:37 PM, 12/28/2022 6:20:56 PM falls between 12/19/2022 10:34:07 PM and 12/28/2022 6:20:56 PM.
IsRegressionStdDev: Marked as regression because -7.516307420817177 (T) = (0 -36.31159282300522) / Math.Sqrt((6.485055935336934 / (14)) + (12.04881980952785 / (19))) is less than -2.0395134463927462 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (14) + (19) - 2, .025) and -0.2768748064919276 = (28.437864572461343 - 36.31159282300522) / 28.437864572461343 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.

```#### System.Tests.Perf_String.ToUpperInvariant(s: "TEST")

```log

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 11.975986271581252 > 8.57081540231266.
IsChangePoint: Marked as a change because one of 12/21/2022 10:31:08 AM, 12/28/2022 6:20:56 PM falls between 12/19/2022 10:34:07 PM and 12/28/2022 6:20:56 PM.
IsRegressionStdDev: Marked as regression because -10.528910434957075 (T) = (0 -12.670162918498763) / Math.Sqrt((0.9342617633884106 / (13)) + (1.3978707752175097 / (20))) is less than -2.0395134463927462 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (13) + (20) - 2, .025) and -0.455349894058753 = (8.705922177355973 - 12.670162918498763) / 8.705922177355973 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.

```#### System.Tests.Perf_String.ToUpper(s: "TEST")

```log

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 29.270366724424157 > 23.711182658784026.
IsChangePoint: Marked as a change because one of 12/21/2022 10:31:08 AM, 12/28/2022 6:20:56 PM falls between 12/19/2022 10:34:07 PM and 12/28/2022 6:20:56 PM.
IsRegressionStdDev: Marked as regression because -4.729387196157553 (T) = (0 -29.081157109263945) / Math.Sqrt((7.270743704699143 / (13)) + (18.92406524654969 / (20))) is less than -2.0395134463927462 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (13) + (20) - 2, .025) and -0.249283338924745 = (23.278271792445437 - 29.081157109263945) / 23.278271792445437 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.

```#### System.Tests.Perf_String.ToLowerInvariant(s: "test")

```log

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 12.60029331392485 > 10.08381371016749.
IsChangePoint: Marked as a change because one of 12/21/2022 10:31:08 AM, 12/28/2022 6:20:56 PM falls between 12/19/2022 10:34:07 PM and 12/28/2022 6:20:56 PM.
IsRegressionStdDev: Marked as regression because -13.323683013167399 (T) = (0 -13.312894081097156) / Math.Sqrt((0.7323565603260572 / (13)) + (0.922625991673902 / (20))) is less than -2.0395134463927462 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (13) + (20) - 2, .025) and -0.47137407848493657 = (9.047933000699148 - 13.312894081097156) / 9.047933000699148 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.

```#### System.Tests.Perf_String.ToLower(s: "TEST")

```log

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 57.78163572052392 > 45.89678537255734.
IsChangePoint: Marked as a change because one of 12/21/2022 10:31:08 AM, 12/28/2022 6:20:56 PM falls between 12/19/2022 10:34:07 PM and 12/28/2022 6:20:56 PM.
IsRegressionStdDev: Marked as regression because -9.773996404508368 (T) = (0 -57.90920894745648) / Math.Sqrt((18.524028895609252 / (13)) + (15.211097039304933 / (20))) is less than -2.0395134463927462 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (13) + (20) - 2, .025) and -0.3324730115054145 = (43.45994886758062 - 57.90920894745648) / 43.45994886758062 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.

```#### System.Tests.Perf_String.ToLowerInvariant(s: "TeSt")

```log

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 36.725989098628034 > 27.801417460552333.
IsChangePoint: Marked as a change because one of 12/21/2022 4:32:37 PM, 12/28/2022 6:20:56 PM falls between 12/19/2022 10:34:07 PM and 12/28/2022 6:20:56 PM.
IsRegressionStdDev: Marked as regression because -8.310103036986714 (T) = (0 -37.18313751161428) / Math.Sqrt((13.233221291647697 / (14)) + (5.573183595058514 / (19))) is less than -2.0395134463927462 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (14) + (19) - 2, .025) and -0.3310691743603315 = (27.93478973734275 - 37.18313751161428) / 27.93478973734275 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.

```#### System.Tests.Perf_String.ToUpper(s: "test")

```log

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 52.323958191242674 > 47.40437991582669.
IsChangePoint: Marked as a change because one of 12/21/2022 10:31:08 AM, 12/28/2022 6:20:56 PM falls between 12/19/2022 10:34:07 PM and 12/28/2022 6:20:56 PM.
IsRegressionStdDev: Marked as regression because -4.4004308610229765 (T) = (0 -50.867662849307834) / Math.Sqrt((11.393547554407128 / (13)) + (35.81423435130752 / (20))) is less than -2.0395134463927462 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (13) + (20) - 2, .025) and -0.164521962629386 = (43.681153710878256 - 50.867662849307834) / 43.681153710878256 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.

```#### System.Tests.Perf_String.ToUpper(s: "TeSt")

```log

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 56.00128879385484 > 46.33821886816768.
IsChangePoint: Marked as a change because one of 12/21/2022 10:31:08 AM, 12/28/2022 6:20:56 PM falls between 12/19/2022 10:34:07 PM and 12/28/2022 6:20:56 PM.
IsRegressionStdDev: Marked as regression because -6.77350029426643 (T) = (0 -52.110090547734465) / Math.Sqrt((11.084131575618784 / (13)) + (14.915230097096984 / (20))) is less than -2.0395134463927462 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (13) + (20) - 2, .025) and -0.196652975524235 = (43.54653488820002 - 52.110090547734465) / 43.54653488820002 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions