Run Information
Improvements in Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark

Test Report
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark*'
Payloads
Baseline
Compare
Histogram
Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.ServiceProvider
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 16.850440696183014 < 19.440526079865638.
IsChangePoint: Marked as a change because one of 1/31/2022 1:37:35 PM, 2/1/2022 5:51:01 AM falls between 1/23/2022 2:39:24 PM and 2/1/2022 5:51:01 AM.
IsImprovementStdDev: Marked as improvement because 7.736865973112597 (T) = (0 -17.480711304604263) / Math.Sqrt((0.5210162629227382 / (299)) + (0.577453609790092 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.14469710417292342 = (20.438035916738528 - 17.480711304604263) / 20.438035916738528 is greater than 0.05.
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
Improvements in System.Text.Json.Tests.Perf_Base64

Test Report
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Tests.Perf_Base64*'
Payloads
Baseline
Compare
Histogram
System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_NoEscaping(NumberOfBytes: 100)
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 71.45558510115708 < 73.94191228276014.
IsChangePoint: Marked as a change because one of 12/18/2021 7:09:36 AM, 1/31/2022 1:37:35 PM, 2/1/2022 5:51:01 AM falls between 1/23/2022 2:39:24 PM and 2/1/2022 5:51:01 AM.
IsImprovementStdDev: Marked as improvement because 12.423852662399469 (T) = (0 -72.46717747101954) / Math.Sqrt((3.3404908468167656 / (299)) + (1.2143541906296367 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.08774483619698623 = (79.43739903747765 - 72.46717747101954) / 79.43739903747765 is greater than 0.05.
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
Improvements in System.Text.Tests.Perf_Encoding




Test Report
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Tests.Perf_Encoding*'
Payloads
Baseline
Compare
Histogram
System.Text.Tests.Perf_Encoding.GetByteCount(size: 16, encName: "ascii")
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 4.452092327348423 < 6.744386113478604.
IsChangePoint: Marked as a change because one of 12/26/2021 4:30:45 AM, 1/13/2022 9:17:54 PM, 1/31/2022 1:37:35 PM, 2/1/2022 5:51:01 AM falls between 1/23/2022 2:39:24 PM and 2/1/2022 5:51:01 AM.
IsImprovementStdDev: Marked as improvement because 113.611468880419 (T) = (0 -4.446307622061866) / Math.Sqrt((0.12890312413565672 / (299)) + (6.335313651024255E-05 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.3507330055719482 = (6.848195981344592 - 4.446307622061866) / 6.848195981344592 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Text.Tests.Perf_Encoding.GetString(size: 16, encName: "ascii")
```log
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 14.528184256667988 < 22.56580169093083.
IsChangePoint: Marked as a change because one of 1/31/2022 1:37:35 PM, 2/1/2022 5:51:01 AM falls between 1/23/2022 2:39:24 PM and 2/1/2022 5:51:01 AM.
IsImprovementStdDev: Marked as improvement because 83.73581756559773 (T) = (0 -14.760951445969145) / Math.Sqrt((0.3548948277519359 / (299)) + (0.043580322313324205 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.3840632768774182 = (23.96504525844202 - 14.760951445969145) / 23.96504525844202 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
```#### System.Text.Tests.Perf_Encoding.GetBytes(size: 16, encName: "ascii")
```log
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 16.015427995359833 < 18.299030942309116.
IsChangePoint: Marked as a change because one of 11/29/2021 9:27:43 AM, 1/31/2022 1:37:35 PM, 2/1/2022 5:51:01 AM falls between 1/23/2022 2:39:24 PM and 2/1/2022 5:51:01 AM.
IsImprovementStdDev: Marked as improvement because 27.422874740745375 (T) = (0 -15.979501509140949) / Math.Sqrt((0.23562178540434367 / (299)) + (0.07100007867927265 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.18940298020202664 = (19.71324976388829 - 15.979501509140949) / 19.71324976388829 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Text.Tests.Perf_Encoding.GetString(size: 512, encName: "ascii")
```log
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 96.04350846686384 < 99.55674633294177.
IsChangePoint: Marked as a change because one of 1/11/2022 2:18:34 PM, 1/18/2022 7:04:48 PM, 1/31/2022 1:37:35 PM, 2/1/2022 5:51:01 AM falls between 1/23/2022 2:39:24 PM and 2/1/2022 5:51:01 AM.
IsImprovementStdDev: Marked as improvement because 39.102203005680046 (T) = (0 -95.43656450474715) / Math.Sqrt((3.282708153091639 / (299)) + (0.23960557507448188 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.09835265051561733 = (105.84688632348738 - 95.43656450474715) / 105.84688632348738 is greater than 0.05.
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
Improvements in System.Text.Json.Document.Tests.Perf_EnumerateArray

Test Report
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Document.Tests.Perf_EnumerateArray*'
Payloads
Baseline
Compare
Histogram
System.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateArray(TestCase: Json400KB)
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 1.52501587313444 < 1.7195741943346279.
IsChangePoint: Marked as a change because one of 1/31/2022 1:37:35 PM, 2/1/2022 5:51:01 AM falls between 1/23/2022 2:39:24 PM and 2/1/2022 5:51:01 AM.
IsImprovementStdDev: Marked as improvement because 39.4395922487493 (T) = (0 -1543.3951246103231) / Math.Sqrt((437.1239629765696 / (299)) + (158.03340850601623 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.14057215764142633 = (1795.840265512811 - 1543.3951246103231) / 1795.840265512811 is greater than 0.05.
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
Improvements in Microsoft.Extensions.DependencyInjection.GetServiceIEnumerable
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
Baseline ETL |
Compare ETL |
| Scoped - Duration of single invocation |
47.49 ns |
44.40 ns |
0.93 |
0.27 |
False |
|
|
|
|
|

Test Report
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Microsoft.Extensions.DependencyInjection.GetServiceIEnumerable*'
Payloads
Baseline
Compare
Histogram
Microsoft.Extensions.DependencyInjection.GetServiceIEnumerable.Scoped
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 44.39976022060291 < 45.743781735416164.
IsChangePoint: Marked as a change because one of 1/5/2022 10:53:59 AM, 1/5/2022 6:46:20 PM, 1/31/2022 1:37:35 PM, 2/1/2022 5:51:01 AM falls between 1/23/2022 2:39:24 PM and 2/1/2022 5:51:01 AM.
IsImprovementStdDev: Marked as improvement because 11.468723029561392 (T) = (0 -43.446709712205376) / Math.Sqrt((4.342999545127196 / (299)) + (0.8128786261082893 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.10966891435047382 = (48.798374461461776 - 43.446709712205376) / 48.798374461461776 is greater than 0.05.
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
Improvements in System.Collections.TryGetValueTrue<Int32, Int32>

Test Report
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.TryGetValueTrue<Int32, Int32>*'
Payloads
Baseline
Compare
Histogram
System.Collections.TryGetValueTrue<Int32, Int32>.ImmutableDictionary(Size: 512)
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 17.82278141609719 < 19.420451718233547.
IsChangePoint: Marked as a change because one of 12/27/2021 6:47:12 AM, 1/12/2022 5:10:45 PM, 1/31/2022 1:37:35 PM, 2/1/2022 5:51:01 AM falls between 1/23/2022 2:39:24 PM and 2/1/2022 5:51:01 AM.
IsImprovementStdDev: Marked as improvement because 17.63814413386059 (T) = (0 -17713.353948058564) / Math.Sqrt((253335.66457082191 / (299)) + (94335.18970239279 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.13467919468700104 = (20470.273960015777 - 17713.353948058564) / 20470.273960015777 is greater than 0.05.
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
Improvements in System.Buffers.Tests.RentReturnArrayPoolTests<Byte>

Test Report
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests<Byte>*'
Payloads
Baseline
Compare
Histogram
System.Buffers.Tests.RentReturnArrayPoolTests<Byte>.SingleSerial(RentalSize: 4096, ManipulateArray: False, Async: False, UseSharedPool: False)
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 39.423599702380955 < 40.37199476228632.
IsChangePoint: Marked as a change because one of 11/29/2021 12:29:52 PM, 1/31/2022 1:37:35 PM, 2/1/2022 5:51:01 AM falls between 1/23/2022 2:39:24 PM and 2/1/2022 5:51:01 AM.
IsImprovementStdDev: Marked as improvement because 2172.3272249859424 (T) = (0 -39.423740296855925) / Math.Sqrt((0.0002943849173677436 / (299)) + (4.0977006293418975E-06 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.07244307709367458 = (42.502771876607895 - 39.423740296855925) / 42.502771876607895 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Drawing.Tests.Perf_Color

Test Report
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Drawing.Tests.Perf_Color*'
Payloads
Baseline
Compare
Histogram
System.Drawing.Tests.Perf_Color.FromArgb_AlphaColor
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 2.7722221614636027 < 4.378015178640332.
IsChangePoint: Marked as a change because one of 1/31/2022 1:37:35 PM, 2/1/2022 5:51:01 AM falls between 1/23/2022 2:39:24 PM and 2/1/2022 5:51:01 AM.
IsImprovementStdDev: Marked as improvement because 8.974704745554963 (T) = (0 -2.9545217874885337) / Math.Sqrt((0.03166530317925027 / (299)) + (0.13723734568452564 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.36041701131552306 = (4.619450235168898 - 2.9545217874885337) / 4.619450235168898 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository