Skip to content

[Perf] Regressions in System.Numerics.Tests.Perf_BigInteger #57293

Closed

Description

@performanceautofiler

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline 749fa1381f122f7a0bb23374a9e220f834ccbbb3
Compare f83a9d9689433ce522b91e74a9631c83847e3b64
Diff Diff

Regressions in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Ctor_ByteArray - Duration of single invocation 24.62 ns 32.53 ns 1.32 0.43 False
Ctor_ByteArray - Duration of single invocation 12.83 ns 26.17 ns 2.04 0.41 False

graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Numerics.Tests.Perf_BigInteger*'
Details

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: -2147483648)


System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: 123)


Docs

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

Activity

  1. ghost added
    untriagedNew issue has not been triaged by the area owner
    on Aug 12, 2021
  2. changed the title [-][Perf] Changes at 8/2/2021 5:40:25 PM[/-] [+][Perf] Regressions in System.Numerics.Tests.Perf_BigInteger[/+] on Aug 12, 2021
  3. DrewScoggins commented on Aug 12, 2021

    @DrewScoggins
    Member
  4. stephentoub commented on Aug 12, 2021

    @stephentoub
    Member

    Assuming #53984, as something intended to be a minor cleanup but regressing some benchmarks by 30%-100%, at this point for .NET 6 it should likely be reverted and revisted for .NET 7.
    cc: @tannergooding, @huoyaoyuan

  5. tannergooding commented on Aug 12, 2021

    @tannergooding
    Member

    Agreed. Additionally, we should likely look into why the regression is so bad as a follow up.

    I don't believe its expected that using indexers should be this impactful.

  6. ghost added
    in-prThere is an active PR which will close this issue when it is merged
    on Aug 12, 2021
  7. stephentoub commented on Aug 12, 2021

    @stephentoub
    Member
  8. tannergooding commented on Aug 12, 2021

    @tannergooding
    Member

    Notably, that's a relatively simple example. Looking through other scenarios and directly copying the full expression/context they are used in shows worse codegen in several cases.

    I'm investigating more so I can log some issues on the runtime and/or compiler.

  9. AndyAyersMS commented on Aug 12, 2021

    @AndyAyersMS
    Member

    Possibly relevant: #11870.

  10. ghost removed
    in-prThere is an active PR which will close this issue when it is merged
    on Aug 12, 2021
  11. ghost locked as resolved and limited conversation to collaborators on Sep 11, 2021
  12. removed
    untriagedNew issue has not been triaged by the area owner
    on Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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