-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Run Information
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 18.04 |
Queue | TigerUbuntu |
Baseline | 7526a4c6a0a095670f1135d983a349b4e867f2e2 |
Compare | c1b7a9feb6f3b4d9ca27dc4f74d8260e4edb73e8 |
Diff | Diff |
Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Regressions in System.Threading.Tests.Perf_CancellationToken
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
CreateLinkedTokenSource3 - Duration of single invocation | 301.67 ns | 359.28 ns | 1.19 | 0.26 | False | |||||
CreateManyRegisterDispose - Duration of single invocation | 82.50 ns | 94.88 ns | 1.15 | 0.33 | False | |||||
CreateLinkedTokenSource2 - Duration of single invocation | 220.79 ns | 249.64 ns | 1.13 | 0.25 | False | |||||
CreateLinkedTokenSource1 - Duration of single invocation | 151.46 ns | 170.16 ns | 1.12 | 0.22 | False | |||||
CreateManyRegisterMultipleDispose - Duration of single invocation | 398.06 ns | 475.89 ns | 1.20 | 0.28 | False |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Tests.Perf_CancellationToken*'
Payloads
Histogram
System.Threading.Tests.Perf_CancellationToken.CreateLinkedTokenSource3
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 359.2803017669749 > 321.7491849556923.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -20.775388872623257 (T) = (0 -362.05032579389785) / Math.Sqrt((30.559093425565823 / (11)) + (144.9069922520339 / (37))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (37) - 2, .025) and -0.17435709148474232 = (308.2966232495406 - 362.05032579389785) / 308.2966232495406 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.
JIT Disasms
System.Threading.Tests.Perf_CancellationToken.CreateManyRegisterDispose
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 94.88413323333334 > 85.08831964701923.
IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -17.19884784172041 (T) = (0 -96.26232058172457) / Math.Sqrt((4.015213774828483 / (12)) + (17.20696884534248 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -0.19014976723018318 = (80.88252691571276 - 96.26232058172457) / 80.88252691571276 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.
JIT Disasms
System.Threading.Tests.Perf_CancellationToken.CreateLinkedTokenSource2
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 249.64071852103945 > 233.1436398303559.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -15.592317199044555 (T) = (0 -251.19448344287042) / Math.Sqrt((26.64297930831029 / (12)) + (36.37066506724336 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -0.1249798484252728 = (223.2879849310084 - 251.19448344287042) / 223.2879849310084 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.
JIT Disasms
System.Threading.Tests.Perf_CancellationToken.CreateLinkedTokenSource1
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 170.1560336690451 > 159.32154363244916.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -10.975909064138795 (T) = (0 -168.83885634701508) / Math.Sqrt((9.785606541008258 / (10)) + (43.83471674194044 / (37))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (10) + (37) - 2, .025) and -0.10572343205518962 = (152.69537702859125 - 168.83885634701508) / 152.69537702859125 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.
JIT Disasms
System.Threading.Tests.Perf_CancellationToken.CreateManyRegisterMultipleDispose
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 475.89069261538464 > 427.077350035.
IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -13.989312768242122 (T) = (0 -487.7249604241462) / Math.Sqrt((232.476451159323 / (12)) + (326.92994981371 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -0.17971884711120448 = (413.42474235996633 - 487.7249604241462) / 413.42474235996633 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.
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 18.04 |
Queue | TigerUbuntu |
Baseline | 7526a4c6a0a095670f1135d983a349b4e867f2e2 |
Compare | c1b7a9feb6f3b4d9ca27dc4f74d8260e4edb73e8 |
Diff | Diff |
Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Regressions in Exceptions.Handling
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
ThrowAndCatchDeepRecursive - Duration of single invocation | 11.77 μs | 12.63 μs | 1.07 | 0.07 | False | |||||
TryAndCatchDeep_CaugtAtTheTop - Duration of single invocation | 40.18 μs | 47.88 μs | 1.19 | 0.04 | False | |||||
ThrowAndCatchFinally - Duration of single invocation | 4.13 μs | 4.79 μs | 1.16 | 0.14 | False | |||||
ThrowAndCatchWhenFinally - Duration of single invocation | 9.02 μs | 9.86 μs | 1.09 | 0.10 | False | |||||
MultipleNestedTryCatch_FirstCatches - Duration of single invocation | 9.46 μs | 10.03 μs | 1.06 | 0.10 | False | |||||
ThrowAndCatchDeep - Duration of single invocation | 11.94 μs | 12.93 μs | 1.08 | 0.07 | False | |||||
TryAndCatchDeep_CaugtAtTheTop - Duration of single invocation | 35.58 μs | 44.07 μs | 1.24 | 0.03 | False | |||||
CatchAndRethrowDeep - Duration of single invocation | 80.98 μs | 86.17 μs | 1.06 | 0.06 | False | |||||
ThrowAndCatchWhen - Duration of single invocation | 8.85 μs | 9.80 μs | 1.11 | 0.10 | False |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Exceptions.Handling*'
Payloads
Histogram
Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: Software)
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 12.630089951860793 > 12.44883623206967.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -8.57870888174897 (T) = (0 -12852.270930223916) / Math.Sqrt((98083.99455651562 / (11)) + (45654.99850159925 / (37))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (37) - 2, .025) and -0.07209802852667238 = (11987.96247007945 - 12852.270930223916) / 11987.96247007945 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.
JIT Disasms
Exceptions.Handling.TryAndCatchDeep_CaugtAtTheTop(kind: Hardware)
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 47.87583532811131 > 42.285248496503655.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -33.6495544438053 (T) = (0 -48144.94178019493) / Math.Sqrt((394787.12841566134 / (12)) + (610670.9573225203 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -0.18392056165686563 = (40665.68597543179 - 48144.94178019493) / 40665.68597543179 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.
JIT Disasms
Exceptions.Handling.ThrowAndCatchFinally(kind: Software)
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 4.7918875897475255 > 4.449977369266326.
IsChangePoint: Marked as a change because one of 3/10/2023 4:14:40 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -17.71237658734398 (T) = (0 -4792.218980410965) / Math.Sqrt((9653.5210416746 / (12)) + (12237.019033621818 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -0.142243795370361 = (4195.443214342115 - 4792.218980410965) / 4195.443214342115 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.
JIT Disasms
Exceptions.Handling.ThrowAndCatchWhenFinally(kind: Software)
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 9.85983308841316 > 9.510246825594232.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -10.59918684857752 (T) = (0 -9868.993089981457) / Math.Sqrt((40253.930889790376 / (12)) + (43151.7327074611 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -0.07783164878376071 = (9156.340047277103 - 9868.993089981457) / 9156.340047277103 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.
JIT Disasms
Exceptions.Handling.MultipleNestedTryCatch_FirstCatches(kind: Software)
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 10.029446413869538 > 9.82432425832981.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -12.784382438759339 (T) = (0 -10000.420060159251) / Math.Sqrt((23737.586282179844 / (12)) + (38001.915175381735 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -0.07536223604323507 = (9299.582712663887 - 10000.420060159251) / 9299.582712663887 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.
JIT Disasms
Exceptions.Handling.ThrowAndCatchDeep(kind: Software)
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 12.931782521802324 > 12.519277241366566.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 4/17/2023 1:30:24 AM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -12.443600381163286 (T) = (0 -13067.460303244576) / Math.Sqrt((65716.57049981297 / (12)) + (40503.36324008721 / (36))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (36) - 2, .025) and -0.08385867423617664 = (12056.42452642966 - 13067.460303244576) / 12056.42452642966 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.
JIT Disasms
Exceptions.Handling.TryAndCatchDeep_CaugtAtTheTop(kind: Software)
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 44.074954469358765 > 38.128327242448826.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -32.45603777906769 (T) = (0 -43464.31763662493) / Math.Sqrt((474602.0949828265 / (12)) + (313955.36355835234 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -0.1956865255893822 = (36350.93037048347 - 43464.31763662493) / 36350.93037048347 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.
JIT Disasms
Exceptions.Handling.CatchAndRethrowDeep(kind: Software)
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 86.17031534839924 > 84.69929418750192.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -11.975954509764716 (T) = (0 -87111.73472431314) / Math.Sqrt((1998306.9088046849 / (12)) + (7172647.631434612 / (36))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (36) - 2, .025) and -0.0906847492308211 = (79868.84824945666 - 87111.73472431314) / 79868.84824945666 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.
JIT Disasms
Exceptions.Handling.ThrowAndCatchWhen(kind: Software)
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 9.79558728806416 > 9.472778538447796.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -12.770277393229122 (T) = (0 -9738.105916001356) / Math.Sqrt((23901.4362160264 / (11)) + (51237.389041459624 / (37))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (37) - 2, .025) and -0.08485538891960973 = (8976.409220494706 - 9738.105916001356) / 8976.409220494706 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.
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 18.04 |
Queue | TigerUbuntu |
Baseline | 7526a4c6a0a095670f1135d983a349b4e867f2e2 |
Compare | c1b7a9feb6f3b4d9ca27dc4f74d8260e4edb73e8 |
Diff | Diff |
Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Regressions in System.Text.Json.Tests.Perf_Guids
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
WriteGuids - Duration of single invocation | 6.18 ms | 7.14 ms | 1.16 | 0.03 | False | |||||
WriteGuids - Duration of single invocation | 6.32 ms | 7.20 ms | 1.14 | 0.05 | False | |||||
WriteGuids - Duration of single invocation | 7.29 ms | 8.02 ms | 1.10 | 0.04 | False | |||||
WriteGuids - Duration of single invocation | 7.08 ms | 8.06 ms | 1.14 | 0.04 | False |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Guids*'
Payloads
Histogram
System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: False, SkipValidation: True)
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 7.14091815029762 > 6.468519239779647.
IsChangePoint: Marked as a change because one of 3/1/2023 3:09:21 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -13.99335663634239 (T) = (0 -7479554.60824296) / Math.Sqrt((1423506489.0355282 / (12)) + (327802219444.5486 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -0.21546813367276135 = (6153641.054860159 - 7479554.60824296) / 6153641.054860159 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.
JIT Disasms
System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: False, SkipValidation: False)
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 7.199876381944444 > 6.658950419891827.
IsChangePoint: Marked as a change because one of 3/1/2023 3:09:21 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -13.645657846994155 (T) = (0 -7101814.637769672) / Math.Sqrt((6738093330.480823 / (11)) + (83717384546.03154 / (37))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (37) - 2, .025) and -0.11486284112524743 = (6370124.086835387 - 7101814.637769672) / 6370124.086835387 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.
JIT Disasms
System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: True, SkipValidation: False)
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 8.02426874375 > 7.621329209074519.
IsChangePoint: Marked as a change because one of 3/1/2023 3:09:21 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -9.483689681474967 (T) = (0 -8122531.585362682) / Math.Sqrt((965318610.6218978 / (10)) + (298198170878.5205 / (37))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (10) + (37) - 2, .025) and -0.11787333894111701 = (7266057.166240843 - 8122531.585362682) / 7266057.166240843 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.
JIT Disasms
System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: True, SkipValidation: True)
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 8.0587895875 > 7.444889020260418.
IsChangePoint: Marked as a change because one of 3/1/2023 3:09:21 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -13.612316776919114 (T) = (0 -7978526.708287391) / Math.Sqrt((3579563365.191797 / (12)) + (142227881005.41827 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -0.12335182680604537 = (7102429.103598137 - 7978526.708287391) / 7102429.103598137 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.
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 18.04 |
Queue | TigerUbuntu |
Baseline | e7ed417c2bf4a24a0694a387f33ba843a2318fdc |
Compare | c1b7a9feb6f3b4d9ca27dc4f74d8260e4edb73e8 |
Diff | Diff |
Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Regressions in System.Buffers.Text.Tests.Utf8FormatterTests
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
FormatterInt32 - Duration of single invocation | 7.38 ns | 29.86 ns | 4.05 | 0.57 | True | |||||
FormatterDateTimeOffsetNow - Duration of single invocation | 43.12 ns | 130.21 ns | 3.02 | 0.38 | True | |||||
FormatterInt64 - Duration of single invocation | 20.23 ns | 49.85 ns | 2.46 | 0.55 | False | |||||
FormatterUInt32 - Duration of single invocation | 11.24 ns | 19.84 ns | 1.76 | 0.63 | True | |||||
FormatterDecimal - Duration of single invocation | 60.25 ns | 162.82 ns | 2.70 | 0.37 | True | |||||
FormatterUInt64 - Duration of single invocation | 15.14 ns | 20.34 ns | 1.34 | 0.62 | True |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Utf8FormatterTests*'
Payloads
Histogram
System.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt32(value: 4)
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 29.861978045149606 > 14.188850822116613.
IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -34.69058345448714 (T) = (0 -46.74038944892388) / Math.Sqrt((4.559581334947455 / (11)) + (20.205663321575596 / (37))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (37) - 2, .025) and -2.6688005519387428 = (12.739964679798241 - 46.74038944892388) / 12.739964679798241 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
System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDateTimeOffsetNow(value: 12/30/2017 3:45:22 AM -08:00)
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 130.20800734640042 > 48.28075140635581.
IsChangePoint: Marked as a change because one of 4/19/2023 8:38:27 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -84.06097263469564 (T) = (0 -130.79935515850136) / Math.Sqrt((14.212384519555092 / (25)) + (9.062463669553763 / (23))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (25) + (23) - 2, .025) and -1.7064406775877385 = (48.32892006156342 - 130.79935515850136) / 48.32892006156342 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
System.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt64(value: 12345)
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 49.8515849399365 > 26.142767417477593.
IsChangePoint: Marked as a change because one of 2/12/2023 11:53:55 PM, 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -9.2824960042475 (T) = (0 -80.70508926823236) / Math.Sqrt((189.57680950224986 / (12)) + (60.99168136939142 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -0.9246183973935321 = (41.93303429787924 - 80.70508926823236) / 41.93303429787924 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.
JIT Disasms
System.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt32(value: 0)
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 19.836968346969005 > 12.079781434864344.
IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -27.809215661168004 (T) = (0 -34.94774242044914) / Math.Sqrt((2.8290378161208167 / (12)) + (15.340555192633708 / (37))) is less than -2.011740513728388 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (37) - 2, .025) and -1.7911346090905669 = (12.520980645872946 - 34.94774242044914) / 12.520980645872946 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
System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDecimal(value: 123456.789)
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 162.81824917395764 > 61.45811908362118.
IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -79.96240251307765 (T) = (0 -160.88735418208927) / Math.Sqrt((1.79157437676217 / (11)) + (52.61799553743874 / (36))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (36) - 2, .025) and -1.7282379753055173 = (58.97115854201559 - 160.88735418208927) / 58.97115854201559 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
System.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt64(value: 0)
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 20.34118502063955 > 11.953344926964355.
IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 3:46:39 AM falls between 4/12/2023 8:39:35 PM and 4/25/2023 3:46:39 AM.
IsRegressionStdDev: Marked as regression because -31.78456581566321 (T) = (0 -42.59469277962079) / Math.Sqrt((1.9116874107873811 / (11)) + (27.487581109054034 / (37))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (37) - 2, .025) and -2.502052865803751 = (12.1627783508188 - 42.59469277962079) / 12.1627783508188 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