-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMItenet-performancePerformance related issuePerformance related issuetenet-performance-benchmarksIssue from performance benchmarkIssue from performance benchmark
Milestone
Description
Run Information
| Architecture | x64 |
|---|---|
| OS | Windows 10.0.18362 |
| Baseline | 803688595257517f4b47e873d11152b0560c204a |
| Compare | 42bebc934bc86d4b612190810cfbbcb0cb9f7d3d |
| Diff | Diff |
Regressions in PerfLabTests.LowLevelPerf
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| ForeachOverList100Elements - Duration of single invocation | 8.05 ms | 10.23 ms | 1.27 | 0.00 | False |
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'PerfLabTests.LowLevelPerf*'Related Issues
Regressions
- [Perf] Linux/x64: 3 Regressions on 11/4/2022 4:27:34 PM
- [Perf] Alpine/x64: 3 Regressions on 11/4/2022 4:27:34 PM
Improvements
Payloads
Histogram
Edge Detector Info
PerfLabTests.LowLevelPerf.ForeachOverList100Elements
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.
IsRegressionWindowed: Marked as regression because 10.228252071005919 > 8.417873409763313.
IsChangePoint: Marked as a change because one of 11/4/2022 9:11:54 AM, 11/8/2022 2:29:58 AM falls between 10/30/2022 12:44:54 AM and 11/8/2022 2:29:58 AM.
IsRegressionStdDev: Marked as regression because -103.64044943109394 (T) = (0 -10279561.306001691) / Math.Sqrt((6670319523.178763 / (37)) + (2981120075.3710427 / (11))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (37) + (11) - 2, .025) and -0.2725589007512423 = (8077866.808312964 - 10279561.306001691) / 8077866.808312964 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.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
| Architecture | x64 |
|---|---|
| OS | Windows 10.0.18362 |
| Baseline | 803688595257517f4b47e873d11152b0560c204a |
| Compare | 42bebc934bc86d4b612190810cfbbcb0cb9f7d3d |
| Diff | Diff |
Regressions in System.Collections.IterateForEach<Int32>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| List - Duration of single invocation | 371.66 ns | 490.21 ns | 1.32 | 0.01 | False |
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.IterateForEach<Int32>*'Related Issues
Regressions
- [Perf] Windows/x86: 3 Regressions on 11/4/2022 4:27:34 PM
- [Perf] Linux/x64: 3 Regressions on 11/4/2022 4:27:34 PM
- [Perf] Alpine/x64: 3 Regressions on 11/4/2022 4:27:34 PM
Improvements
Payloads
Histogram
Edge Detector Info
System.Collections.IterateForEach<Int32>.List(Size: 512)
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.
IsRegressionWindowed: Marked as regression because 490.2108105944074 > 388.65297690103637.
IsChangePoint: Marked as a change because one of 9/29/2022 5:24:34 PM, 10/6/2022 11:18:47 AM, 11/4/2022 9:11:54 AM, 11/8/2022 2:29:58 AM falls between 10/30/2022 12:44:54 AM and 11/8/2022 2:29:58 AM.
IsRegressionStdDev: Marked as regression because -357.8014169750356 (T) = (0 -490.33509167304436) / Math.Sqrt((0.459330002296445 / (37)) + (1.1001946243275644 / (11))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (37) + (11) - 2, .025) and -0.32393783579023566 = (370.36111395696446 - 490.33509167304436) / 370.36111395696446 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.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
| Architecture | x64 |
|---|---|
| OS | Windows 10.0.18362 |
| Baseline | 803688595257517f4b47e873d11152b0560c204a |
| Compare | 42bebc934bc86d4b612190810cfbbcb0cb9f7d3d |
| Diff | Diff |
Regressions in System.Linq.Tests.Perf_Enumerable
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| SelectToList - Duration of single invocation | 325.73 ns | 350.26 ns | 1.08 | 0.04 | False | |||||
| WhereSelect - Duration of single invocation | 1.46 μs | 1.55 μs | 1.06 | 0.03 | False | |||||
| SelectToArray - Duration of single invocation | 276.24 ns | 306.05 ns | 1.11 | 0.04 | False |
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Linq.Tests.Perf_Enumerable*'Related Issues
Regressions
- [Perf] Windows/x86: 3 Regressions on 11/4/2022 4:27:34 PM
- [Perf] Linux/x64: 3 Regressions on 11/4/2022 4:27:34 PM
- [Perf] Alpine/x64: 3 Regressions on 11/4/2022 4:27:34 PM
Improvements
Payloads
Histogram
Edge Detector Info
System.Linq.Tests.Perf_Enumerable.SelectToList(input: List)
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.
IsRegressionWindowed: Marked as regression because 350.26317455987373 > 340.615859426538.
IsChangePoint: Marked as a change because one of 9/9/2022 3:12:19 AM, 9/27/2022 7:01:57 AM, 11/4/2022 9:11:54 AM, 11/8/2022 2:29:58 AM falls between 10/30/2022 12:44:54 AM and 11/8/2022 2:29:58 AM.
IsRegressionStdDev: Marked as regression because -21.810942766243265 (T) = (0 -352.23036173177746) / Math.Sqrt((44.552495448791625 / (37)) + (1.9597687571038562 / (11))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (37) + (11) - 2, .025) and -0.07851881718884221 = (326.5871268244215 - 352.23036173177746) / 326.5871268244215 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.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Linq.Tests.Perf_Enumerable.WhereSelect(input: IEnumerable)
```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.
IsRegressionWindowed: Marked as regression because 1.5502020518075195 > 1.530831836810961.
IsChangePoint: Marked as a change because one of 8/29/2022 8:26:03 AM, 10/2/2022 11:57:04 PM, 10/11/2022 8:42:28 PM, 10/31/2022 10:23:25 PM, 11/8/2022 2:29:58 AM falls between 10/30/2022 12:44:54 AM and 11/8/2022 2:29:58 AM.
IsRegressionStdDev: Marked as regression because -16.62620714735114 (T) = (0 -1530.712181897643) / Math.Sqrt((51.961847473954116 / (20)) + (184.97683401663295 / (10))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (20) + (10) - 2, .025) and -0.05250765998101531 = (1454.3477830130503 - 1530.712181897643) / 1454.3477830130503 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.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Linq.Tests.Perf_Enumerable.SelectToArray(input: Array)
```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.
IsRegressionWindowed: Marked as regression because 306.0538934158227 > 291.7180284667359.
IsChangePoint: Marked as a change because one of 8/29/2022 8:26:03 AM, 9/6/2022 1:06:44 PM, 9/9/2022 3:12:19 AM, 9/29/2022 7:42:19 AM, 10/11/2022 8:42:28 PM, 10/31/2022 10:23:25 PM, 11/8/2022 2:29:58 AM falls between 10/30/2022 12:44:54 AM and 11/8/2022 2:29:58 AM.
IsRegressionStdDev: Marked as regression because -9.978323478707399 (T) = (0 -303.97032387329864) / Math.Sqrt((5.667712605302481 / (20)) + (69.2550855737003 / (11))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (20) + (11) - 2, .025) and -0.09194244942796645 = (278.37577340503515 - 303.97032387329864) / 278.37577340503515 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.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
| Architecture | x64 |
|---|---|
| OS | Windows 10.0.18362 |
| Baseline | 803688595257517f4b47e873d11152b0560c204a |
| Compare | 42bebc934bc86d4b612190810cfbbcb0cb9f7d3d |
| Diff | Diff |
Regressions in System.Collections.TryGetValueTrue<Int32, Int32>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| Dictionary - Duration of single invocation | 3.25 μs | 4.22 μs | 1.30 | 0.10 | False |
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.TryGetValueTrue<Int32, Int32>*'Related Issues
Regressions
- [Perf] Windows/x86: 3 Regressions on 11/4/2022 4:27:34 PM
- [Perf] Linux/x64: 3 Regressions on 11/4/2022 4:27:34 PM
- [Perf] Alpine/x64: 3 Regressions on 11/4/2022 4:27:34 PM
Improvements
Payloads
Histogram
Edge Detector Info
System.Collections.TryGetValueTrue<Int32, Int32>.Dictionary(Size: 512)
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.
IsRegressionWindowed: Marked as regression because 4.222020164805514 > 3.3433613454409454.
IsChangePoint: Marked as a change because one of 9/23/2022 1:16:35 AM, 11/4/2022 9:11:54 AM, 11/8/2022 2:29:58 AM falls between 10/30/2022 12:44:54 AM and 11/8/2022 2:29:58 AM.
IsRegressionStdDev: Marked as regression because -26.912204740722803 (T) = (0 -4587.336325328255) / Math.Sqrt((2418.3327173982575 / (37)) + (30951.11257429028 / (11))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (37) + (11) - 2, .025) and -0.4594004010262906 = (3143.30208632416 - 4587.336325328255) / 3143.30208632416 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.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Metadata
Metadata
Assignees
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMItenet-performancePerformance related issuePerformance related issuetenet-performance-benchmarksIssue from performance benchmarkIssue from performance benchmark

_1.png)



_1.png)