- 
                Notifications
    
You must be signed in to change notification settings  - Fork 5.2k
 
Closed
Description
Run Information
| Architecture | arm64 | 
|---|---|
| OS | ubuntu 20.04 | 
| Baseline | ce5891530ed1504f766360d5fbc7ed07ee557cb8 | 
| Compare | 0d7f75876ad6b12ac37a2961d5990a2cbcd79623 | 
| Diff | Diff | 
Regressions in System.Reflection.Attributes
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL | 
|---|---|---|---|---|---|---|---|---|---|---|
| GetCustomAttributesMethodBaseHit - Duration of single invocation | 4.14 μs | 4.95 μs | 1.20 | 0.12 | False | |||||
| GetCustomAttributesMethodOverrideHit - Duration of single invocation | 3.97 μs | 4.81 μs | 1.21 | 0.38 | False | |||||
| GetCustomAttributesMethodOverrideMiss - Duration of single invocation | 4.12 μs | 5.05 μs | 1.22 | 0.31 | False | 
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Reflection.Attributes*'Payloads
Histogram
System.Reflection.Attributes.GetCustomAttributesMethodBaseHit
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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 11/17/2022 1:45:21 AM, 11/22/2022 2:20:42 AM falls between 11/9/2022 1:30:37 AM and 11/22/2022 2:20:42 AM.
IsRegressionStdDev: Marked as regression because -6.362943434529245 (T) = (0 -4936.580336355876) / Math.Sqrt((30243.701202286455 / (4)) + (10969.398263000987 / (3))) is less than -2.5705818356363865 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (4) + (3) - 2, .025) and -0.15809661960076046 = (4262.667080452839 - 4936.580336355876) / 4262.667080452839 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.Reflection.Attributes.GetCustomAttributesMethodOverrideHit
```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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 11/17/2022 1:45:21 AM, 11/22/2022 2:20:42 AM falls between 11/9/2022 1:30:37 AM and 11/22/2022 2:20:42 AM.
IsRegressionStdDev: Marked as regression because -5.955365779570188 (T) = (0 -4893.710343163158) / Math.Sqrt((2427.629028060259 / (4)) + (61675.99331107457 / (3))) is less than -2.5705818356363865 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (4) + (3) - 2, .025) and -0.2151341826328304 = (4027.300369873522 - 4893.710343163158) / 4027.300369873522 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.Reflection.Attributes.GetCustomAttributesMethodOverrideMiss
```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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 11/17/2022 1:45:21 AM, 11/22/2022 2:20:42 AM falls between 11/9/2022 1:30:37 AM and 11/22/2022 2:20:42 AM.
IsRegressionStdDev: Marked as regression because -6.1967963939446475 (T) = (0 -5021.122032138285) / Math.Sqrt((57024.56925572837 / (4)) + (5396.234038778639 / (3))) is less than -2.5705818356363865 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (4) + (3) - 2, .025) and -0.1853621876269573 = (4235.939094860407 - 5021.122032138285) / 4235.939094860407 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