Skip to content

Regressions in System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests #86336

Closed

Description

@performanceautofiler

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 05a3d360d6079db3cb64636fcdf99f832a58c1d2
Compare bc1175382857c4af11c27b3134fd22dc8377dfb5
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Base64DecodeInPlace - Duration of single invocation 113.82 ms 143.74 ms 1.26 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests*'
Details

Payloads

Baseline
Compare

Histogram

System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests.Base64DecodeInPlace(NumberOfBytes: 200000000)


Description of detection logic

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.
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 143.736245 > 119.5565114153846.
IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 5/8/2023 3:52:55 PM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsRegressionStdDev: Marked as regression because -207.8542267672069 (T) = (0 -144284018.73783883) / Math.Sqrt((31267341672.962914 / (15)) + (484350566709.22046 / (25))) is less than -2.0243941639098457 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (15) + (25) - 2, .025) and -0.26747237620001 = (113836026.28912087 - 144284018.73783883) / 113836026.28912087 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 as regression because Edge Detector said so.

JIT Disasms

Docs

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

Activity

  1. changed the title [-][Perf] Linux/x64: 1 Regression on 5/9/2023 7:00:05 PM[/-] [+]Regressions in System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests[/+] on May 16, 2023
  2. ghost added
    needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area owners
    on May 16, 2023
  3. EgorBo commented on May 16, 2023

    @EgorBo
    Member

    Regressed in #85938 cc @stephentoub

  4. stephentoub commented on May 16, 2023

    @stephentoub
    Member

    I'll take a look. We weren't expecting such regressions for existing input.

  5. gfoidl commented on May 16, 2023

    @gfoidl
    Member

    May this come from

    which now is the out param, and not a local anymore? (So stack vs. register)

  6. ghost added
    in-prThere is an active PR which will close this issue when it is merged
    on May 17, 2023
  7. ghost removed
    in-prThere is an active PR which will close this issue when it is merged
    on May 18, 2023
  8. ghost removed
    untriagedNew issue has not been triaged by the area owner
    on May 18, 2023
  9. ghost locked as resolved and limited conversation to collaborators on Jun 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

PGOarch-x64needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area ownersos-linuxLinux OS (any supported distro)runtime-coreclrspecific to the CoreCLR runtime

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions