Run Information
Regressions in System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals
Test Report
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals*'
Payloads
Baseline
Compare
Histogram
System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_Equal
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 102.18106875445687 > 93.67357576127858.
IsChangePoint: Marked as a change because one of 2/1/2022 10:36:16 AM, 2/10/2022 10:02:40 PM, 2/19/2022 11:51:48 PM, 3/2/2022 5:56:50 PM, 3/17/2022 6:54:53 PM, 3/30/2022 6:37:35 PM, 4/5/2022 12:43:03 AM falls between 3/26/2022 9:07:40 PM and 4/5/2022 12:43:03 AM.
IsRegressionStdDev: Marked as regression because -26.645123210765615 (T) = (0 -102.26466856880218) / Math.Sqrt((6.972934543997907 / (32)) + (0.014138234168107212 / (23))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (23) - 2, .025) and -0.13868890519403115 = (89.80913759880396 - 102.26466856880218) / 89.80913759880396 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_FirstBitDifferent
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 102.14583971078534 > 93.74595748297735.
IsChangePoint: Marked as a change because one of 2/1/2022 8:13:55 AM, 2/10/2022 10:02:40 PM, 2/19/2022 11:51:48 PM, 3/2/2022 10:01:16 PM, 3/17/2022 6:54:53 PM, 3/30/2022 6:37:35 PM, 4/5/2022 12:43:03 AM falls between 3/26/2022 9:07:40 PM and 4/5/2022 12:43:03 AM.
IsRegressionStdDev: Marked as regression because -8.794442273741547 (T) = (0 -103.89171194128237) / Math.Sqrt((0.5633520995001862 / (32)) + (61.61518226641661 / (23))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (23) - 2, .025) and -0.16144661169133803 = (89.45026908296002 - 103.89171194128237) / 89.45026908296002 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_LastBitDifferent
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 102.31528334885473 > 93.7021903316295.
IsChangePoint: Marked as a change because one of 2/1/2022 1:24:52 PM, 2/10/2022 10:02:40 PM, 2/19/2022 11:51:48 PM, 3/3/2022 10:59:13 PM, 3/17/2022 6:54:53 PM, 3/30/2022 6:37:35 PM, 4/5/2022 12:43:03 AM falls between 3/26/2022 9:07:40 PM and 4/5/2022 12:43:03 AM.
IsRegressionStdDev: Marked as regression because -80.60357227108018 (T) = (0 -102.37083845998689) / Math.Sqrt((0.4294369988011269 / (32)) + (0.28554969333167635 / (23))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (23) - 2, .025) and -0.14489326151940368 = (89.41518122320777 - 102.37083845998689) / 89.41518122320777 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
### Run Information
Regressions in System.Linq.Tests.Perf_Enumerable
Test Report
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Linq.Tests.Perf_Enumerable*'
Payloads
Baseline
Compare
Histogram
System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_FirstElementMatches(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.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 748.7365295592631 > 735.5346141759802.
IsChangePoint: Marked as a change because one of 3/17/2022 6:54:53 PM, 3/30/2022 6:37:35 PM, 4/5/2022 12:43:03 AM falls between 3/26/2022 9:07:40 PM and 4/5/2022 12:43:03 AM.
IsRegressionStdDev: Marked as regression because -132.90361373287402 (T) = (0 -747.4129623501557) / Math.Sqrt((0.6017217235902365 / (32)) + (2.465665664171783 / (23))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (23) - 2, .025) and -0.06737353632595831 = (700.2356128510086 - 747.4129623501557) / 700.2356128510086 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.CopyTo<Int32>
Test Report
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.CopyTo<Int32>*'
Payloads
Baseline
Compare
Histogram
System.Collections.CopyTo<Int32>.Memory(Size: 2048)
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 186.25349540239822 > 114.31609677281067.
IsChangePoint: Marked as a change because one of 3/30/2022 6:37:35 PM, 4/5/2022 12:43:03 AM falls between 3/26/2022 9:07:40 PM and 4/5/2022 12:43:03 AM.
IsRegressionStdDev: Marked as regression because -52.401497672779875 (T) = (0 -186.39345735134467) / Math.Sqrt((39.80100184985866 / (32)) + (21.273142535147162 / (23))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (23) - 2, .025) and -0.7065193128209458 = (109.22434686263743 - 186.39345735134467) / 109.22434686263743 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.
```#### System.Collections.CopyTo<Int32>.Array(Size: 2048)
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 189.37599091260634 > 108.87621133172183.
IsChangePoint: Marked as a change because one of 3/30/2022 6:37:35 PM, 4/5/2022 12:43:03 AM falls between 3/26/2022 9:07:40 PM and 4/5/2022 12:43:03 AM.
IsRegressionStdDev: Marked as regression because -50.6212873525026 (T) = (0 -186.07742709730286) / Math.Sqrt((32.25142518999982 / (32)) + (30.699100172727753 / (23))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (23) - 2, .025) and -0.7134401612374727 = (108.5987309664289 - 186.07742709730286) / 108.5987309664289 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.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in Benchstone.MDBenchI.MDMidpoint
Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
Baseline ETL |
Compare ETL |
Test - Duration of single invocation |
537.18 ms |
564.96 ms |
1.05 |
0.02 |
False |
|
|
|
|
|
Test Report
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Benchstone.MDBenchI.MDMidpoint*'
Payloads
Baseline
Compare
Histogram
Benchstone.MDBenchI.MDMidpoint.Test
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 564.9573121428572 > 564.0104052025.
IsChangePoint: Marked as a change because one of 3/17/2022 6:54:53 PM, 3/30/2022 6:37:35 PM, 4/5/2022 12:43:03 AM falls between 3/26/2022 9:07:40 PM and 4/5/2022 12:43:03 AM.
IsRegressionStdDev: Marked as regression because -6.1740918192193295 (T) = (0 -568420734.6516166) / Math.Sqrt((313549356908744.56 / (32)) + (251211247070160.97 / (23))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (23) - 2, .025) and -0.05201476594206948 = (540316308.3386962 - 568420734.6516166) / 540316308.3386962 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in PerfLabTests.DictionaryExpansion
Test Report
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'PerfLabTests.DictionaryExpansion*'
Payloads
Baseline
Compare
Histogram
PerfLabTests.DictionaryExpansion.ExpandDictionaries
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 529.8239722937471 > 518.0439517892836.
IsChangePoint: Marked as a change because one of 3/9/2022 9:14:37 PM, 3/17/2022 6:54:53 PM, 3/30/2022 6:37:35 PM, 4/5/2022 12:43:03 AM falls between 3/26/2022 9:07:40 PM and 4/5/2022 12:43:03 AM.
IsRegressionStdDev: Marked as regression because -24.732588419526966 (T) = (0 -537.3535312682171) / Math.Sqrt((75.17297280022737 / (32)) + (32.62400690946964 / (23))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (23) - 2, .025) and -0.09810352051451968 = (489.34687962428035 - 537.3535312682171) / 489.34687962428035 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.IndexerSetReverse<Int32>
Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
Baseline ETL |
Compare ETL |
IList - Duration of single invocation |
899.22 ns |
1.11 μs |
1.24 |
0.29 |
False |
|
|
|
|
|
Test Report
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.IndexerSetReverse<Int32>*'
Payloads
Baseline
Compare
Histogram
System.Collections.IndexerSetReverse<Int32>.IList(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.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 1.1112840347179558 > 944.1094567083051.
IsChangePoint: Marked as a change because one of 3/30/2022 6:37:35 PM, 4/5/2022 12:43:03 AM falls between 3/26/2022 9:07:40 PM and 4/5/2022 12:43:03 AM.
IsRegressionStdDev: Marked as regression because -21.797451002419997 (T) = (0 -1108.0169855982924) / Math.Sqrt((2181.5163529691968 / (32)) + (60.37187752466307 / (23))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (23) - 2, .025) and -0.19836037867642406 = (924.6108310273785 - 1108.0169855982924) / 924.6108310273785 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.ContainsTrue<Int32>
Test Report
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.ContainsTrue<Int32>*'
Payloads
Baseline
Compare
Histogram
System.Collections.ContainsTrue<Int32>.HashSet(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.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 3.0393642748607435 > 2.2991612020932917.
IsChangePoint: Marked as a change because one of 3/17/2022 6:54:53 PM, 3/21/2022 1:28:14 PM, 3/30/2022 6:37:35 PM, 4/5/2022 12:43:03 AM falls between 3/26/2022 9:07:40 PM and 4/5/2022 12:43:03 AM.
IsRegressionStdDev: Marked as regression because -68.39684303987657 (T) = (0 -3061.3422679012465) / Math.Sqrt((4843.692159791088 / (32)) + (244.3702559013411 / (23))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (23) - 2, .025) and -0.3973506217664565 = (2190.818982877225 - 3061.3422679012465) / 2190.818982877225 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in BenchmarksGame.BinaryTrees_2
Test Report
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'BenchmarksGame.BinaryTrees_2*'
Payloads
Baseline
Compare
Histogram
BenchmarksGame.BinaryTrees_2.RunBench
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 130.8609133888889 > 113.92479392000001.
IsChangePoint: Marked as a change because one of 3/30/2022 6:37:35 PM, 4/5/2022 12:43:03 AM falls between 3/26/2022 9:07:40 PM and 4/5/2022 12:43:03 AM.
IsRegressionStdDev: Marked as regression because -11.11904022002931 (T) = (0 -128609086.14732479) / Math.Sqrt((1889710204573.7827 / (32)) + (81853945566789.62 / (23))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (23) - 2, .025) and -0.19681174376418314 = (107459746.1275126 - 128609086.14732479) / 107459746.1275126 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.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
category:performance
theme:osr
FWIW we may end up fixing some of these in .NET 8 by bringing the OSR code a bit closer to Tier1. See https://github.com/dotnet/runtime/issues/76928.