Skip to content

[Perf -14%] System.Reflection.Attributes.GetCustomAttributesClassHit (2) #44816

Closed

Description

@DrewScoggins

Run Information

Architecture x64
OS ubuntu 18.04
Baseline fcce1608222d542eea0b419bcee3c62775c1c418
Compare 52d405e92db4eaaf7f3c52ac615d9cd4f5341315
Diff Diff

Regressions in System.Reflection.Attributes

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetCustomAttributesMethodBaseHit 945.36 ns 1.15 μs 1.21
GetCustomAttributesClassHit 922.46 ns 1.12 μs 1.21

Related Issue on x64 Windows

[Perf -9%] System.Reflection.Attributes.GetCustomAttributesMethodBaseHitInherit

Related Issue on x86 Windows

[Perf -8%] System.Reflection.Attributes.IsDefinedMethodBaseMiss

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.Reflection.Attributes*'
Details

Histogram

System.Reflection.Attributes.GetCustomAttributesMethodBaseHit

[ 922.398 ;  956.872) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[ 956.872 ;  976.632) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 976.632 ; 1000.064) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1000.064 ; 1040.480) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1040.480 ; 1081.836) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1081.836 ; 1120.491) | @@@@@@@@@@@@@@
[1120.491 ; 1161.110) | @@@@@@@@@@@@@@@@@
[1161.110 ; 1188.058) | @@
[1188.058 ; 1225.138) | @@@@@@
[1225.138 ; 1269.293) | @
[1269.293 ; 1327.442) | @

System.Reflection.Attributes.GetCustomAttributesClassHit

[ 911.653 ;  934.782) | @@@@@@@@@@@
[ 934.782 ;  957.356) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 957.356 ;  978.971) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 978.971 ; 1001.011) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1001.011 ; 1023.298) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1023.298 ; 1058.032) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1058.032 ; 1084.649) | @@@@@@@@@@@@@@@
[1084.649 ; 1109.994) | @@@@@@@@@@@@
[1109.994 ; 1139.926) | @@@@@@@@
[1139.926 ; 1181.718) | @@@@@@
[1181.718 ; 1211.032) | @@
[1211.032 ; 1251.199) | @
[1251.199 ; 1296.092) | @
[1296.092 ; 1356.578) | @@@

Docs

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

Activity

  1. steveharter commented on Nov 24, 2020

    @steveharter
    Contributor

    Not sure on source of regression although #45121 may help.

  2. removed
    untriagedNew issue has not been triaged by the area owner
    on Nov 24, 2020
  3. added this to the 6.0.0 milestone on Nov 24, 2020
  4. danmoseley commented on Nov 25, 2020

    @danmoseley
    Contributor
  5. danmoseley commented on Nov 25, 2020

    @danmoseley
    Contributor

    It's a wierd regression, on both the scenarios it creeps up noisily during the Nov 13th. Hard to interpret such behavior, it's as if training data was rotting or something.

  6. krwq commented on Jul 22, 2021

    @krwq
    Member

    [Triage] Is this tracking the same work as #44713 ? In the meantime we're moving this to 7.0 as it seems non-essential for 6.0

  7. modified the milestones: 6.0.0, 7.0.0 on Jul 22, 2021
  8. modified the milestones: 7.0.0, 8.0.0 on Jul 11, 2022
  9. steveharter commented on Dec 5, 2022

    @steveharter
    Contributor

    Closing; old issue with no obvious root cause. There were various perf improvements made in V6 #53152 based off of #45121.

    [Triage] Is this tracking the same work as #44713 ? In the meantime we're moving this to 7.0 as it seems non-essential for 6.0

    No - that other issue was tracking "all attributes" while GetCustomAttributesClassHit was only selecting a single attribute.

  10. Repository owner moved this from Future to Done in Triage POD for Reflection, META, etc.on Dec 5, 2022
  11. ghost locked as resolved and limited conversation to collaborators on Jan 4, 2023
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

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions