-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Run Information
Name | Value |
---|---|
Architecture | arm64 |
OS | ubuntu 20.04 |
Queue | AmpereUbuntu |
Baseline | 195bf987887ea645a747ff0586440f7920c47b01 |
Compare | 63a7a13190448f1ba5b3b449f1b9628d042d209d |
Diff | Diff |
Configs | CompilationMode:tiered, RunKind:micro |
Regressions in System.Threading.Tests.Perf_SemaphoreSlim
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
ReleaseWaitAsync - Duration of single invocation | 58.42 ns | 64.19 ns | 1.10 | 0.04 | 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.Threading.Tests.Perf_SemaphoreSlim*'
Payloads
Histogram
System.Threading.Tests.Perf_SemaphoreSlim.ReleaseWaitAsync
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 64.19114724610218 > 61.84225122140281.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -36.82424838548651 (T) = (0 -66.08155629876315) / Math.Sqrt((0.14000637926795506 / (11)) + (0.6048799617945516 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.11821870155906561 = (59.09537750229859 - 66.08155629876315) / 59.09537750229859 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
Run Information
Name | Value |
---|---|
Architecture | arm64 |
OS | ubuntu 20.04 |
Queue | AmpereUbuntu |
Baseline | 195bf987887ea645a747ff0586440f7920c47b01 |
Compare | 63a7a13190448f1ba5b3b449f1b9628d042d209d |
Diff | Diff |
Configs | CompilationMode:tiered, RunKind:micro |
Regressions in System.IO.Tests.Perf_FileStream
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
GetLength - Duration of single invocation | 334.13 ns | 361.65 ns | 1.08 | 0.08 | False | |||||
SeekForward - Duration of single invocation | 24.22 μs | 27.63 μs | 1.14 | 0.08 | False | |||||
GetLength - Duration of single invocation | 333.30 ns | 359.72 ns | 1.08 | 0.04 | False | |||||
ReadByte - Duration of single invocation | 7.11 μs | 12.13 μs | 1.71 | 0.42 | True | |||||
ReadByte - Duration of single invocation | 7.04 μs | 12.18 μs | 1.73 | 0.42 | True | |||||
SeekForward - Duration of single invocation | 23.90 μs | 27.49 μs | 1.15 | 0.07 | 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.IO.Tests.Perf_FileStream*'
Payloads
Histogram
System.IO.Tests.Perf_FileStream.GetLength(options: Read)
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 361.6512722754663 > 351.89909437428355.
IsChangePoint: Marked as a change because one of 1/28/2023 8:08:27 PM, 1/29/2023 5:12:48 PM, 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -27.8362056575774 (T) = (0 -362.00516666654863) / Math.Sqrt((4.340900060608027 / (11)) + (12.52641140150423 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.07757023249138374 = (335.9457748100361 - 362.00516666654863) / 335.9457748100361 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.IO.Tests.Perf_FileStream.SeekForward(fileSize: 1024, options: Asynchronous)
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 27.62703268045775 > 25.46831462410829.
IsChangePoint: Marked as a change because one of 4/5/2023 11:58:06 PM, 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -31.02688674702847 (T) = (0 -27729.815230607994) / Math.Sqrt((122788.13592072537 / (11)) + (43117.20385967708 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.14507195325330538 = (24216.65743521515 - 27729.815230607994) / 24216.65743521515 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.IO.Tests.Perf_FileStream.GetLength(options: Write)
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.72049759265985 > 351.4655885447626.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -21.56354010348023 (T) = (0 -362.0372023231808) / Math.Sqrt((14.063089885347058 / (11)) + (3.394203750606319 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.07607958571457446 = (336.4409167587439 - 362.0372023231808) / 336.4409167587439 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.IO.Tests.Perf_FileStream.ReadByte(fileSize: 1024, options: None)
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.12966086359293 > 7.973734423011042.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -17.241135333707614 (T) = (0 -11224.874845944814) / Math.Sqrt((336131.27847019036 / (11)) + (331132.1036511864 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.4697040172427272 = (7637.507085952929 - 11224.874845944814) / 7637.507085952929 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.IO.Tests.Perf_FileStream.ReadByte(fileSize: 1024, options: Asynchronous)
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.177366296332549 > 7.841238746452231.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -18.959126930284423 (T) = (0 -11131.094630800133) / Math.Sqrt((220273.55624999976 / (11)) + (353317.7858000321 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.4540747961323622 = (7655.104579494332 - 11131.094630800133) / 7655.104579494332 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.IO.Tests.Perf_FileStream.SeekForward(fileSize: 1024, options: None)
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 27.49117491930751 > 25.399375676464793.
IsChangePoint: Marked as a change because one of 4/5/2023 12:23:38 PM, 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -27.300094212972528 (T) = (0 -27633.853064271676) / Math.Sqrt((144753.97482632898 / (11)) + (96817.96272357549 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.14727065858771082 = (24086.603154558947 - 27633.853064271676) / 24086.603154558947 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
Run Information
Name | Value |
---|---|
Architecture | arm64 |
OS | ubuntu 20.04 |
Queue | AmpereUbuntu |
Baseline | 195bf987887ea645a747ff0586440f7920c47b01 |
Compare | 63a7a13190448f1ba5b3b449f1b9628d042d209d |
Diff | Diff |
Configs | CompilationMode:tiered, RunKind:micro |
Regressions in PerfLabTests.GetMember
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
GetField - Duration of single invocation | 52.35 μs | 67.11 μs | 1.28 | 0.00 | True | |||||
GetMethod5 - Duration of single invocation | 415.01 μs | 596.73 μs | 1.44 | 0.04 | True | |||||
GetMethod15 - Duration of single invocation | 1.25 ms | 1.77 ms | 1.42 | 0.03 | True | |||||
GetMethod3 - Duration of single invocation | 249.55 μs | 457.92 μs | 1.83 | 0.03 | True | |||||
GetMethod2 - Duration of single invocation | 166.14 μs | 240.52 μs | 1.45 | 0.05 | True | |||||
GetMethod1 - Duration of single invocation | 83.44 μs | 151.20 μs | 1.81 | 0.04 | True | |||||
GetMethod4 - Duration of single invocation | 331.77 μs | 493.48 μs | 1.49 | 0.04 | True | |||||
GetMethod12 - Duration of single invocation | 1.00 ms | 1.43 ms | 1.43 | 0.08 | True | |||||
GetMethod10 - Duration of single invocation | 833.28 μs | 1.47 ms | 1.76 | 0.05 | True | |||||
GetMethod20 - Duration of single invocation | 1.67 ms | 2.39 ms | 1.43 | 0.06 | 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 'PerfLabTests.GetMember*'
Payloads
Histogram
PerfLabTests.GetMember.GetField
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 67.11351855244253 > 54.81237645632366.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -127.05021915049316 (T) = (0 -67603.24289362694) / Math.Sqrt((72833.97916043708 / (11)) + (213613.24823699595 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.2968819537053646 = (52127.522247090776 - 67603.24289362694) / 52127.522247090776 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
PerfLabTests.GetMember.GetMethod5
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 596.7277532407408 > 435.6290904851975.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -23.971007944799208 (T) = (0 -635367.422779123) / Math.Sqrt((12211414.805523174 / (11)) + (2145176363.6335711 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.5266977811756309 = (416171.05272129196 - 635367.422779123) / 416171.05272129196 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
PerfLabTests.GetMember.GetMethod15
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 1.7749548870370366 > 1.316702124206731.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -23.426534594115704 (T) = (0 -1893687.6678848518) / Math.Sqrt((39761936.56444727 / (11)) + (19179566392.527542 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.5078791934085563 = (1255861.6606441638 - 1893687.6678848518) / 1255861.6606441638 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
PerfLabTests.GetMember.GetMethod3
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 457.9151302631578 > 262.0025388194445.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -21.06978576335206 (T) = (0 -380745.27054343646) / Math.Sqrt((2363188.060174794 / (11)) + (997045665.5394063 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.5235649194657359 = (249904.1988161235 - 380745.27054343646) / 249904.1988161235 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
PerfLabTests.GetMember.GetMethod2
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 240.51737705128207 > 174.6510689428192.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -26.99502230055446 (T) = (0 -256055.52370371638) / Math.Sqrt((63612.89744323521 / (11)) + (286544098.1258799 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.5386608623737205 = (166414.5296506046 - 256055.52370371638) / 166414.5296506046 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
PerfLabTests.GetMember.GetMethod1
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 151.19505973907766 > 87.607700702645.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -27.98634190764289 (T) = (0 -132365.4468772548) / Math.Sqrt((604589.0675973337 / (11)) + (77377006.03105634 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.582526231695755 = (83641.8659142343 - 132365.4468772548) / 83641.8659142343 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
PerfLabTests.GetMember.GetMethod4
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 493.4841303030304 > 348.82827681682187.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -23.199801991623836 (T) = (0 -516324.6345099368) / Math.Sqrt((56663.055895210404 / (11)) + (1637575129.0929403 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.554266479659898 = (332198.26925876836 - 516324.6345099368) / 332198.26925876836 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
PerfLabTests.GetMember.GetMethod12
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 1.4334023858901517 > 1.0523409789648437.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -23.2236293956973 (T) = (0 -1541405.460345359) / Math.Sqrt((4575342.596969547 / (11)) + (13989119845.80851 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.5375498199000537 = (1002507.6523670342 - 1541405.460345359) / 1002507.6523670342 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
PerfLabTests.GetMember.GetMethod10
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 1.4654854187499997 > 875.4022838733553.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -25.82631302834375 (T) = (0 -1292446.0595018594) / Math.Sqrt((507193.8442822412 / (11)) + (8183712389.681681 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.549292588977871 = (834216.8991814107 - 1292446.0595018594) / 834216.8991814107 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
PerfLabTests.GetMember.GetMethod20
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 2.3877831154761906 > 1.7581455720937502.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -23.983630133335105 (T) = (0 -2552171.6311489735) / Math.Sqrt((3001973.728785325 / (11)) + (34795360657.59229 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.5239577011642215 = (1674699.7828084414 - 2552171.6311489735) / 1674699.7828084414 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
Run Information
Name | Value |
---|---|
Architecture | arm64 |
OS | ubuntu 20.04 |
Queue | AmpereUbuntu |
Baseline | 195bf987887ea645a747ff0586440f7920c47b01 |
Compare | 63a7a13190448f1ba5b3b449f1b9628d042d209d |
Diff | Diff |
Configs | CompilationMode:tiered, RunKind:micro |
Regressions in System.Reflection.Attributes
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
GetCustomAttributesClassMiss - Duration of single invocation | 182.25 ns | 197.96 ns | 1.09 | 0.08 | False | |||||
GetCustomAttributesClassHit - Duration of single invocation | 1.55 μs | 1.77 μs | 1.14 | 0.20 | False | |||||
GetCustomAttributesClassMissInherit - Duration of single invocation | 357.12 ns | 384.21 ns | 1.08 | 0.19 | 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.Reflection.Attributes*'
Payloads
Histogram
System.Reflection.Attributes.GetCustomAttributesClassMiss
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 197.95557241205117 > 190.95426152328517.
IsChangePoint: Marked as a change because one of 3/9/2023 3:58:44 PM, 3/22/2023 1:13:01 AM, 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -21.281654047163148 (T) = (0 -196.74306097765177) / Math.Sqrt((2.0814310620192806 / (11)) + (8.026394771968397 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.08263654041445243 = (181.725864252037 - 196.74306097765177) / 181.725864252037 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.Reflection.Attributes.GetCustomAttributesClassHit
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 1.7671189288151288 > 1.6986905288222207.
IsChangePoint: Marked as a change because one of 2/10/2023 11:58:08 PM, 4/25/2023 1:02:54 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -6.934536529508078 (T) = (0 -1752.2355098901676) / Math.Sqrt((3063.1914874203194 / (10)) + (1756.5470409120467 / (27))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (10) + (27) - 2, .025) and -0.08256297032101952 = (1618.5991558260723 - 1752.2355098901676) / 1618.5991558260723 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.Reflection.Attributes.GetCustomAttributesClassMissInherit
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 384.2098511607811 > 379.5269736884031.
IsChangePoint: Marked as a change because one of 4/27/2023 1:05:59 AM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -6.458186586176081 (T) = (0 -391.1607348534885) / Math.Sqrt((80.49000768703807 / (16)) + (186.41946601278508 / (21))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (16) + (21) - 2, .025) and -0.06561191760040314 = (367.07616383863586 - 391.1607348534885) / 367.07616383863586 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 | arm64 |
OS | ubuntu 20.04 |
Queue | AmpereUbuntu |
Baseline | 195bf987887ea645a747ff0586440f7920c47b01 |
Compare | 63a7a13190448f1ba5b3b449f1b9628d042d209d |
Diff | Diff |
Configs | CompilationMode:tiered, RunKind:micro |
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 |
---|---|---|---|---|---|---|---|---|---|---|
Parse - Duration of single invocation | 208.71 ns | 228.37 ns | 1.09 | 0.01 | False | |||||
Remainder - Duration of single invocation | 8.62 ns | 11.72 ns | 1.36 | 0.22 | False | |||||
Parse - Duration of single invocation | 136.35 ns | 153.45 ns | 1.13 | 0.01 | False | |||||
Divide - Duration of single invocation | 9.08 ns | 13.92 ns | 1.53 | 0.43 | 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.Numerics.Tests.Perf_BigInteger*'
Payloads
Histogram
System.Numerics.Tests.Perf_BigInteger.Parse(numberString: -2147483648)
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 228.36928298037702 > 221.61985280829956.
IsChangePoint: Marked as a change because one of 1/13/2023 9:23:19 AM, 3/21/2023 3:33:39 AM, 4/9/2023 11:24:15 AM, 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -13.113528551221325 (T) = (0 -224.88311169594212) / Math.Sqrt((6.736572881904214 / (11)) + (9.13527073488572 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.06072280819464049 = (212.00931097040814 - 224.88311169594212) / 212.00931097040814 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.Numerics.Tests.Perf_BigInteger.Remainder(arguments: 16,8 bits)
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 11.72095175805165 > 8.996272410046968.
IsChangePoint: Marked as a change because one of 5/2/2023 4:25:00 AM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -34.07603255128446 (T) = (0 -11.756566613512874) / Math.Sqrt((0.17855806182524517 / (33)) + (0.016156525441122827 / (4))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (4) - 2, .025) and -0.39229813195893576 = (8.444000852728013 - 11.756566613512874) / 8.444000852728013 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.Numerics.Tests.Perf_BigInteger.Parse(numberString: 123)
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 153.4488050001564 > 144.67333615134123.
IsChangePoint: Marked as a change because one of 1/13/2023 3:30:06 PM, 1/27/2023 3:43:27 AM, 4/25/2023 6:46:56 PM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -18.35549105093233 (T) = (0 -149.08869596791686) / Math.Sqrt((2.671888905390098 / (11)) + (3.1038167494257722 / (26))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (26) - 2, .025) and -0.0800348583668139 = (138.04063342303868 - 149.08869596791686) / 138.04063342303868 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.Numerics.Tests.Perf_BigInteger.Divide(arguments: 16,8 bits)
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 13.916232903912622 > 9.582363772257741.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/2/2023 4:25:00 AM, 5/3/2023 11:00:11 PM falls between 4/25/2023 6:51:20 AM and 5/3/2023 11:00:11 PM.
IsRegressionStdDev: Marked as regression because -12.398974526385524 (T) = (0 -13.671451182219087) / Math.Sqrt((1.478956237125132 / (33)) + (0.08166118394757409 / (4))) is less than -2.0301079282477414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (4) - 2, .025) and -0.30146283082831954 = (10.504680470603878 - 13.671451182219087) / 10.504680470603878 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