Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Perf] Changes at 7/6/2022 8:41:56 AM #6734

Closed
performanceautofiler bot opened this issue Jul 12, 2022 · 29 comments
Closed

[Perf] Changes at 7/6/2022 8:41:56 AM #6734

performanceautofiler bot opened this issue Jul 12, 2022 · 29 comments

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.Slice<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadOnlySpanStartLength - Duration of single invocation 4.50 ns 0.98 ns 0.22 0.07 False
SpanStart - Duration of single invocation 4.41 ns 1.01 ns 0.23 0.07 False
MemorySpanStartLength - Duration of single invocation 12.74 ns 1.57 ns 0.12 0.11 False
MemoryStartSpan - Duration of single invocation 7.05 ns 1.56 ns 0.22 0.04 False
ReadOnlyMemoryStartLengthSpan - Duration of single invocation 6.86 ns 1.22 ns 0.18 0.07 False
ReadOnlyMemoryStartSpan - Duration of single invocation 7.11 ns 1.55 ns 0.22 0.02 False
MemorySpanStart - Duration of single invocation 12.47 ns 1.77 ns 0.14 0.08 False
ReadOnlyMemorySpanStart - Duration of single invocation 12.16 ns 1.76 ns 0.14 0.11 False
SpanStartLength - Duration of single invocation 4.50 ns 1.03 ns 0.23 0.08 False
ReadOnlyMemorySpanStartLength - Duration of single invocation 12.10 ns 1.56 ns 0.13 0.07 False
ReadOnlySpanStart - Duration of single invocation 4.41 ns 1.00 ns 0.23 0.07 False
MemoryStartLengthSpan - Duration of single invocation 7.68 ns 1.26 ns 0.16 0.10 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Slice&lt;Byte&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Slice<Byte>.ReadOnlySpanStartLength


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 0.9843896921729525 < 2.620421299416224.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.567058076120352 (T) = (0 -0.9858283477046426) / Math.Sqrt((0.6433758068972534 / (299)) + (0.0003111497100991138 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1771300388577354 = (1.1980366209214488 - 0.9858283477046426) / 1.1980366209214488 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;Byte&gt;.SpanStart

```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 1.0134692549542976 < 2.5770514900140773.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.020779226342584 (T) = (0 -1.015293364703109) / Math.Sqrt((0.5866941084917455 / (299)) + (0.0004238290275814604 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14956152816833343 = (1.1938469369998979 - 1.015293364703109) / 1.1938469369998979 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;Byte&gt;.MemorySpanStartLength

```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 1.5739618547636065 < 6.921008403015577.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.150865469245496 (T) = (0 -1.5846117654967606) / Math.Sqrt((5.88729786311085 / (299)) + (0.0024020374652164826 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.31354852817824147 = (2.30841047116032 - 1.5846117654967606) / 2.30841047116032 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;Byte&gt;.MemoryStartSpan

```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 1.559713808879395 < 4.091771520605562.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.524392250741377 (T) = (0 -1.567812657404699) / Math.Sqrt((1.6295342513046844 / (299)) + (0.0015429881361798856 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1761008130352408 = (1.902918078097047 - 1.567812657404699) / 1.902918078097047 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;Byte&gt;.ReadOnlyMemoryStartLengthSpan

```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 1.2220675218380428 < 3.8521773361182383.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.389829875175179 (T) = (0 -1.2391944086518814) / Math.Sqrt((1.59881061056841 / (299)) + (0.0013021089171080062 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3042533116453571 = (1.7810999741621867 - 1.2391944086518814) / 1.7810999741621867 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;Byte&gt;.ReadOnlyMemoryStartSpan

```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 1.5460838564309742 < 4.109412275188324.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.754408644232723 (T) = (0 -1.549489215248787) / Math.Sqrt((1.7493508931195818 / (299)) + (0.0001348624997570619 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.19012711312064406 = (1.9132498943375655 - 1.549489215248787) / 1.9132498943375655 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;Byte&gt;.MemorySpanStart

```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 1.769801972162266 < 6.9441211256666975.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.010120897311672 (T) = (0 -1.7776825032593244) / Math.Sqrt((5.853908926699172 / (299)) + (0.002229741274330638 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2401543280228569 = (2.3395309979640166 - 1.7776825032593244) / 2.3395309979640166 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;Byte&gt;.ReadOnlyMemorySpanStart

```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 1.7625412633322561 < 6.6777302361908575.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.113713733877587 (T) = (0 -1.768976133808227) / Math.Sqrt((5.481057865959412 / (299)) + (0.0003658194676767344 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.23950131948604675 = (2.326073902735418 - 1.768976133808227) / 2.326073902735418 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;Byte&gt;.SpanStartLength

```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 1.0329030351658388 < 2.6501811556468637.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.344364187241423 (T) = (0 -0.9933724450380795) / Math.Sqrt((0.6529790854747142 / (299)) + (0.0008655697534113539 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1703413075782327 = (1.1973266285421937 - 0.9933724450380795) / 1.1973266285421937 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;Byte&gt;.ReadOnlyMemorySpanStartLength

```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 1.5634461973221823 < 6.478535972955789.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.7851199416069266 (T) = (0 -1.6230419214583134) / Math.Sqrt((5.463222500181141 / (299)) + (0.026438976180474315 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.28834310695395765 = (2.28065228808696 - 1.6230419214583134) / 2.28065228808696 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;Byte&gt;.ReadOnlySpanStart

```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 0.9981408624272919 < 2.609934451082679.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.201169598066265 (T) = (0 -1.0044016933027917) / Math.Sqrt((0.587256523297354 / (299)) + (0.002225592140418553 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.15810551767444664 = (1.193025627782174 - 1.0044016933027917) / 1.193025627782174 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;Byte&gt;.MemoryStartLengthSpan

```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 1.2566566060148148 < 3.875773709990275.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.087273442161631 (T) = (0 -1.2690832493620452) / Math.Sqrt((1.6241233364830656 / (299)) + (0.0005215889885200351 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.29180856345889855 = (1.79200592365309 - 1.2690832493620452) / 1.79200592365309 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.Constructors<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadOnlySpanImplicitCastFromArray - Duration of single invocation 4.71 ns 0.23 ns 0.05 0.09 False
ReadOnlySpanImplicitCastFromSpan - Duration of single invocation 5.23 ns 0.00 ns 0.00 0.13 False
ArrayAsSpan - Duration of single invocation 4.70 ns 0.23 ns 0.05 0.10 False
MemoryMarshalCreateSpan - Duration of single invocation 4.49 ns 0.01 ns 0.00 0.14 False
SpanImplicitCastFromArraySegment - Duration of single invocation 4.29 ns 0.95 ns 0.22 0.07 False
ArrayAsSpanStartLength - Duration of single invocation 4.71 ns 0.01 ns 0.00 0.14 False
SpanFromArrayStartLength - Duration of single invocation 3.41 ns 0.01 ns 0.00 0.13 False
MemoryMarshalCreateReadOnlySpan - Duration of single invocation 4.91 ns 0.01 ns 0.00 0.16 False
ReadOnlySpanFromMemory - Duration of single invocation 6.09 ns 0.62 ns 0.10 0.12 False
ReadOnlySpanImplicitCastFromArraySegment - Duration of single invocation 4.29 ns 0.98 ns 0.23 0.09 False
SpanImplicitCastFromArray - Duration of single invocation 4.70 ns 0.23 ns 0.05 0.07 False
ReadOnlySpanFromArrayStartLength - Duration of single invocation 3.41 ns 0.01 ns 0.00 0.10 False
SpanFromMemory - Duration of single invocation 6.09 ns 0.61 ns 0.10 0.14 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Constructors&lt;Byte&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Constructors<Byte>.ReadOnlySpanImplicitCastFromArray


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 0.23045455220916372 < 2.231893702012484.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.0863084058820838 (T) = (0 -0.21665401593659608) / Math.Sqrt((1.0904748855095838 / (299)) + (0.0038106399989801696 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3705026099951608 = (0.3441698399018471 - 0.21665401593659608) / 0.3441698399018471 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.ReadOnlySpanImplicitCastFromSpan

```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 0 < 2.2812474733580865.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.212381090817735 (T) = (0 -0.0009265607876682738) / Math.Sqrt((1.2562020087640782 / (299)) + (1.1726346909888508E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9966180532114607 = (0.2739726097430592 - 0.0009265607876682738) / 0.2739726097430592 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.ArrayAsSpan

```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 0.2301016559764736 < 2.232584860582808.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.037052938223448 (T) = (0 -0.21678214034713253) / Math.Sqrt((1.0916658406728066 / (299)) + (0.003852947906014972 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.36496466057469634 = (0.3413701992448432 - 0.21678214034713253) / 0.3413701992448432 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.MemoryMarshalCreateSpan

```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 0.013527694769988753 < 2.1346592998241376.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.019370562514863 (T) = (0 -0.012213240259111148) / Math.Sqrt((1.0896067381236654 / (299)) + (1.1532464691266175E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9520785072458662 = (0.25485934509119784 - 0.012213240259111148) / 0.25485934509119784 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.SpanImplicitCastFromArraySegment

```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 0.9532806674851247 < 2.496674818090102.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.4404058731596523 (T) = (0 -0.985780509893109) / Math.Sqrt((0.5691833160240128 / (299)) + (0.02252403475444595 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14672166173715703 = (1.1552859901495005 - 0.985780509893109) / 1.1552859901495005 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.ArrayAsSpanStartLength

```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 0.013251117563817003 < 2.2393280020600463.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.211486851008486 (T) = (0 -0.018578239001819964) / Math.Sqrt((1.121964267933227 / (299)) + (0.001908285243512594 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9331913358460422 = (0.27808128237689644 - 0.018578239001819964) / 0.27808128237689644 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.SpanFromArrayStartLength

```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 0.013277030674855146 < 1.6187185528627985.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.35988780915491 (T) = (0 -0.012337829716153883) / Math.Sqrt((0.5854167527281214 / (299)) + (1.1899509435208105E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9398944111033647 = (0.20526925935908338 - 0.012337829716153883) / 0.20526925935908338 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.MemoryMarshalCreateReadOnlySpan

```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 0.012869538428407353 < 2.13344970749024.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.026327641711355 (T) = (0 -0.012597854551794057) / Math.Sqrt((1.0432605125859589 / (299)) + (8.071651681267292E-06 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9496963197250555 = (0.2504360413182103 - 0.012597854551794057) / 0.2504360413182103 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.ReadOnlySpanFromMemory

```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 0.6172991169564396 < 3.1773181211160204.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.856721492400395 (T) = (0 -0.6289143809265926) / Math.Sqrt((1.537867515902198 / (299)) + (0.0074387939795235525 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3602316214082685 = (0.9830344886863103 - 0.6289143809265926) / 0.9830344886863103 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.ReadOnlySpanImplicitCastFromArraySegment

```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 0.9819424795705867 < 2.480742170856319.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.5974032547936656 (T) = (0 -0.9901656913471154) / Math.Sqrt((0.5705307924744866 / (299)) + (0.005339434622855725 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14073512374069036 = (1.1523404699813453 - 0.9901656913471154) / 1.1523404699813453 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.SpanImplicitCastFromArray

```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 0.22940511140470501 < 2.232738473767127.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.0429239102699124 (T) = (0 -0.21446990625521026) / Math.Sqrt((1.0930923268591204 / (299)) + (0.003532205616568622 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3680391380658878 = (0.3393721338989672 - 0.21446990625521026) / 0.3393721338989672 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.ReadOnlySpanFromArrayStartLength

```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 0.013415135600346434 < 1.6180698083292677.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.3549232677897525 (T) = (0 -0.01364409413584176) / Math.Sqrt((0.5855515970113003 / (299)) + (9.439037466249779E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.933918069170367 = (0.20647238911674395 - 0.01364409413584176) / 0.20647238911674395 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;Byte&gt;.SpanFromMemory

```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 0.6095962581973529 < 3.18487442491031.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.37997662571678 (T) = (0 -0.6156305965040831) / Math.Sqrt((1.5189395049455316 / (299)) + (0.0012356593288326747 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.38447352783285005 = (1.0001691630525111 - 0.6156305965040831) / 1.0001691630525111 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToUpperInvariant - Duration of single invocation 67.31 ns 39.18 ns 0.58 0.07 False
ToLowerInvariant - Duration of single invocation 36.90 ns 11.63 ns 0.32 0.09 False
IndexOfAny - Duration of single invocation 16.14 ns 5.84 ns 0.36 0.04 False
TrimEnd - Duration of single invocation 13.36 ns 1.96 ns 0.15 0.08 False
ToUpper - Duration of single invocation 43.83 ns 18.15 ns 0.41 0.34 False
Format_OneArg - Duration of single invocation 785.63 ns 386.25 ns 0.49 0.02 False
Trim - Duration of single invocation 42.00 ns 11.97 ns 0.28 0.05 False
Interpolation_MultipleArgs - Duration of single invocation 140.99 ns 65.33 ns 0.46 0.23 False
ToUpperInvariant - Duration of single invocation 37.69 ns 11.72 ns 0.31 0.12 False
ToLower - Duration of single invocation 43.01 ns 17.60 ns 0.41 0.29 False
TrimStart - Duration of single invocation 13.54 ns 1.67 ns 0.12 0.07 False
ToUpperInvariant - Duration of single invocation 36.30 ns 11.71 ns 0.32 0.10 False
Trim - Duration of single invocation 24.39 ns 2.52 ns 0.10 0.07 False
ToUpper - Duration of single invocation 41.72 ns 18.75 ns 0.45 0.38 False
Trim - Duration of single invocation 63.86 ns 13.78 ns 0.22 0.04 False
TrimStart - Duration of single invocation 31.34 ns 10.61 ns 0.34 0.12 False
TrimEnd - Duration of single invocation 31.13 ns 11.40 ns 0.37 0.10 False
Format_MultipleArgs - Duration of single invocation 416.34 ns 182.17 ns 0.44 0.03 False
ToLower - Duration of single invocation 44.21 ns 17.92 ns 0.41 0.28 False
ToLowerInvariant - Duration of single invocation 36.38 ns 11.59 ns 0.32 0.13 False
Trim - Duration of single invocation 42.09 ns 11.19 ns 0.27 0.06 False
Join_List - Duration of single invocation 101.05 ns 48.20 ns 0.48 0.04 False
Replace_String - Duration of single invocation 88.28 ns 38.06 ns 0.43 0.11 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_String*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_String.ToUpperInvariant(s: "This is a much longer piece of text that might benefit more from vectorization.")


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.17911825332995 < 50.40120665997721.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.139632406511223 (T) = (0 -39.382076503926086) / Math.Sqrt((35.2242722487068 / (299)) + (0.5043586346054016 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05312882745612065 = (41.5918000736273 - 39.382076503926086) / 41.5918000736273 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.ToLowerInvariant(s: "TEST")

```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 11.634752972885623 < 22.70267867110137.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.263293863825384 (T) = (0 -11.694809446094782) / Math.Sqrt((31.26573862799514 / (299)) + (0.05012206356768201 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10597593501232348 = (13.081090212326652 - 11.694809446094782) / 13.081090212326652 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.IndexOfAny

```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 5.835986182678082 < 10.640342755864106.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.3655370602177275 (T) = (0 -6.328590093766771) / Math.Sqrt((4.897823012516289 / (299)) + (0.1594460775189804 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08906261636964852 = (6.947338211706157 - 6.328590093766771) / 6.947338211706157 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.TrimEnd(s: "Test")

```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 1.9553040913229642 < 7.095180920713378.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.176646003841559 (T) = (0 -1.9387645424773763) / Math.Sqrt((6.995924407701239 / (299)) + (0.008757690477102459 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14710494891061177 = (2.273157219051776 - 1.9387645424773763) / 2.273157219051776 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.ToUpper(s: "test")

```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 18.15399762555989 < 28.26545517835905.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.1678018724759918 (T) = (0 -18.394947591733615) / Math.Sqrt((32.19586888372655 / (299)) + (2.72102110852509 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06647097684121618 = (19.70474097258444 - 18.394947591733615) / 19.70474097258444 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.Format_OneArg(s: "Testing {0}, {0:C}, {0:D5}, {0:E} - {0:F4}{0:G}{0:N}  {0:X} !!", o: 8)

```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 386.2513304213899 < 567.3728138857452.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.020937670015764 (T) = (0 -383.7588300847025) / Math.Sqrt((7657.839033412334 / (299)) + (24.67399721222307 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08560506379760983 = (419.6860840880271 - 383.7588300847025) / 419.6860840880271 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.Trim(s: "Test ")

```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 11.969712602413269 < 25.660618201422736.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.221723135049605 (T) = (0 -11.762914600524686) / Math.Sqrt((47.10776106275007 / (299)) + (0.028567379187446815 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1249237658395413 = (13.442159827149156 - 11.762914600524686) / 13.442159827149156 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.Interpolation_MultipleArgs(c: '1', s: "Foo")

```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 65.32844036506624 < 97.99713789972245.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8215349149291025 (T) = (0 -65.63162945340741) / Math.Sqrt((292.7552261127887 / (299)) + (4.1700865281470625 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05696120311654817 = (69.59589538660167 - 65.63162945340741) / 69.59589538660167 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.ToUpperInvariant(s: "test")

```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 11.719173496380833 < 24.346405667104285.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.145558497611375 (T) = (0 -11.81491759533161) / Math.Sqrt((31.68450835649811 / (299)) + (0.07848156743677866 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10329899771461266 = (13.175983483033233 - 11.81491759533161) / 13.175983483033233 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.ToLower(s: "TEST")

```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 17.602506724283273 < 29.302775318935453.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9284546001039 (T) = (0 -18.311827966304257) / Math.Sqrt((36.459417962299916 / (299)) + (1.238500880189261 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07688806750478187 = (19.837061272522458 - 18.311827966304257) / 19.837061272522458 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.TrimStart(s: "Test")

```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 1.6652185952405694 < 7.095741098266602.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.258780600438688 (T) = (0 -1.6418446776601952) / Math.Sqrt((7.497413147037943 / (299)) + (0.004728972550291523 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.23953656589398792 = (2.159005422253234 - 1.6418446776601952) / 2.159005422253234 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.ToUpperInvariant(s: "TeSt")

```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 11.7089983358165 < 22.509529955782526.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.5112685584754932 (T) = (0 -11.910468381819175) / Math.Sqrt((32.27645128724333 / (299)) + (0.35026474224834037 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09127884803388744 = (13.106846204745692 - 11.910468381819175) / 13.106846204745692 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.Trim(s: "Test")

```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 2.5152771767200215 < 12.583564894886406.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.4327719137485513 (T) = (0 -2.5044406693177663) / Math.Sqrt((24.716117696410198 / (299)) + (0.005258763871183243 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.28283298907800525 = (3.4921303283290186 - 2.5044406693177663) / 3.4921303283290186 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.ToUpper(s: "TeSt")

```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 18.745419206231322 < 28.378372991324913.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.7352616075537663 (T) = (0 -18.40594386176994) / Math.Sqrt((33.76403149016233 / (299)) + (1.0391244358928788 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06988749998525554 = (19.788943661630356 - 18.40594386176994) / 19.788943661630356 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.Trim(s: " Te st  ")

```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 13.782092312441904 < 37.07857799800367.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.12271690257332 (T) = (0 -13.664465008080422) / Math.Sqrt((128.46025688907687 / (299)) + (0.05251300169420477 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.165304322601293 = (16.370595149917555 - 13.664465008080422) / 16.370595149917555 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.TrimStart(s: " Test")

```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 10.612954552910434 < 20.49236414945356.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.171748940673225 (T) = (0 -10.420699375328635) / Math.Sqrt((21.41503311127095 / (299)) + (0.2492419159044243 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14147696501592233 = (12.137938005963811 - 10.420699375328635) / 12.137938005963811 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.TrimEnd(s: "Test ")

```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 11.402837292618813 < 20.131591800585166.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.152501425277558 (T) = (0 -11.302327868776292) / Math.Sqrt((21.079620873417817 / (299)) + (0.464739726613105 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07367469892443711 = (12.201251391550116 - 11.302327868776292) / 12.201251391550116 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.Format_MultipleArgs

```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 182.17493662028775 < 292.9062078657876.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.745448601477428 (T) = (0 -182.363748295385) / Math.Sqrt((2337.955223412548 / (299)) + (15.98091895310351 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.16668341425030844 = (218.84089602191443 - 182.363748295385) / 218.84089602191443 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.ToLower(s: "TeSt")

```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 17.91943922851896 < 29.296572001943645.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.818336483202764 (T) = (0 -18.111008032361834) / Math.Sqrt((36.287890883673036 / (299)) + (0.4315989967970718 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08795688069085932 = (19.857622571705445 - 18.111008032361834) / 19.857622571705445 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.ToLowerInvariant(s: "TeSt")

```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 11.586547871492114 < 22.538397353304017.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.200843158932238 (T) = (0 -11.71999060685439) / Math.Sqrt((32.51394254207859 / (299)) + (0.1517091882930001 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10722231323347597 = (13.12755771182189 - 11.71999060685439) / 13.12755771182189 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.Trim(s: " Test")

```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 11.18938738587802 < 25.31812045289706.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.290564519970693 (T) = (0 -11.099456718822326) / Math.Sqrt((47.88940680304157 / (299)) + (0.0693899962442921 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1608748179335131 = (13.227414640909771 - 11.099456718822326) / 13.227414640909771 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.Join_List

```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 48.20019998819454 < 72.53367952336738.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.223845110134797 (T) = (0 -48.12243944781479) / Math.Sqrt((141.38760694093568 / (299)) + (0.37707441622310683 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08236474251946171 = (52.441794335518324 - 48.12243944781479) / 52.441794335518324 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.Replace_String(text: "This is a very nice sentence", oldValue: "nice", newValue: "bad")

```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 38.06466882736767 < 59.63856882954646.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.343981674274467 (T) = (0 -37.96650030526895) / Math.Sqrt((126.92818554879143 / (299)) + (1.1322391052557759 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07134340690632765 = (40.883250695275386 - 37.96650030526895) / 40.883250695275386 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_Int64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryFormat - Duration of single invocation 14.98 ns 6.48 ns 0.43 0.02 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Int64*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Int64.TryFormat(value: 12345)


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 6.476020373059167 < 10.111793901940114.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.603692791688147 (T) = (0 -6.479602910976731) / Math.Sqrt((3.8309872895596597 / (299)) + (0.0005931005813439626 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.059254959384242974 = (6.887735391871489 - 6.479602910976731) / 6.887735391871489 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.IO.Tests.StringReaderReadLineTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadLine - Duration of single invocation 299.41 μs 121.27 μs 0.41 0.01 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.IO.Tests.StringReaderReadLineTests*'

Payloads

Baseline
Compare

Histogram

System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 0, 0])


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 121.27009914867111 < 199.87443704929203.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.140709189132139 (T) = (0 -121251.13980490164) / Math.Sqrt((1623246467.1917446 / (299)) + (14420.240379911947 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0737067798434609 = (130899.30614456056 - 121251.13980490164) / 130899.30614456056 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Net.NetworkInformation.Tests.PhysicalAddressTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
PAMedium - Duration of single invocation 42.87 ns 16.71 ns 0.39 0.05 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Net.NetworkInformation.Tests.PhysicalAddressTests*'

Payloads

Baseline
Compare

Histogram

System.Net.NetworkInformation.Tests.PhysicalAddressTests.PAMedium


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.71425099113787 < 28.508054955560443.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.258398501414611 (T) = (0 -16.966389729532615) / Math.Sqrt((34.25041537455842 / (299)) + (0.04990706530694385 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07866154470187037 = (18.414937129746285 - 16.966389729532615) / 18.414937129746285 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Buffers.Text.Tests.Base64Tests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Base64DecodeDestinationTooSmall - Duration of single invocation 78.47 ns 55.47 ns 0.71 0.14 False

Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Buffers.Text.Tests.Base64Tests*'

Payloads

Baseline
Compare

Histogram

System.Buffers.Text.Tests.Base64Tests.Base64DecodeDestinationTooSmall(NumberOfBytes: 1000)


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 55.46970390513016 < 61.64190814508765.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.932903740107773 (T) = (0 -55.24374993659339) / Math.Sqrt((79.29769527969145 / (94)) + (2.80129033239664 / (43))) is greater than 1.9776922772389849 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (94) + (43) - 2, .975) and 0.06355256778908189 = (58.99290022736772 - 55.24374993659339) / 58.99290022736772 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Reader.Tests.Perf_Base64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadBase64EncodedByteArray_HeavyEscaping - Duration of single invocation 128.70 ns 85.57 ns 0.66 0.11 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Reader.Tests.Perf_Base64*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Reader.Tests.Perf_Base64.ReadBase64EncodedByteArray_HeavyEscaping(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 85.57434866601727 < 96.70685774101702.
IsChangePoint: Marked as a change because one of 6/2/2022 10:27:31 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.071647418252297 (T) = (0 -79.55286150503132) / Math.Sqrt((153.9427520719503 / (299)) + (36.243522886206684 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06914817492343643 = (85.46243275452353 - 79.55286150503132) / 85.46243275452353 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements 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
ModPow - Duration of single invocation 3.95 ms 2.08 ms 0.53 0.02 False
Add - Duration of single invocation 14.58 ns 4.38 ns 0.30 0.09 False
ModPow - Duration of single invocation 230.77 μs 115.98 μs 0.50 0.01 False
Multiply - Duration of single invocation 16.35 ns 4.19 ns 0.26 0.02 False
Parse - Duration of single invocation 1.68 μs 1.28 μs 0.76 0.01 False
Subtract - Duration of single invocation 14.82 ns 4.36 ns 0.29 0.05 False
Add - Duration of single invocation 83.74 ns 37.58 ns 0.45 0.09 False

graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Numerics.Tests.Perf_BigInteger*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 16384,16384,64 bits)


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.0760113611778843 < 2.874138059078311.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.819202171964689 (T) = (0 -2082233.9730377907) / Math.Sqrt((169955698877.45667 / (299)) + (247226859.65236905 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06276263626129035 = (2221671.9622995015 - 2082233.9730377907) / 2221671.9622995015 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_BigInteger.Add(arguments: 16,16 bits)

```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 4.3794208596899376 < 8.851018171844105.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.3846150336501575 (T) = (0 -4.3832372782484095) / Math.Sqrt((5.342895331804387 / (299)) + (0.0018747258578356925 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1180731030073777 = (4.970068713399357 - 4.3832372782484095) / 4.970068713399357 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 1024,1024,64 bits)

```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 115.98386649691359 < 163.99450102444152.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.822160286872384 (T) = (0 -114696.83275118754) / Math.Sqrt((658350584.8731852 / (299)) + (459075.2766318743 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07020428771237204 = (123357.02481246398 - 114696.83275118754) / 123357.02481246398 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 16,16 bits)

```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 4.188560638353057 < 9.63702180075635.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.137803344999221 (T) = (0 -4.098079611451838) / Math.Sqrt((8.020510133335106 / (299)) + (0.0006052048188415407 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14193484518386498 = (4.775953887009861 - 4.098079611451838) / 4.775953887009861 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_BigInteger.Parse(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)

```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 1.2775506265940362 < 1.4361546276211896.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.498266417088232 (T) = (0 -1282.615340732773) / Math.Sqrt((7152.195280647684 / (299)) + (232.05112588195647 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.050116736136693145 = (1350.2873347996454 - 1282.615340732773) / 1350.2873347996454 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_BigInteger.Subtract(arguments: 16,16 bits)

```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 4.361813752460375 < 8.968727105615436.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.7235445662112627 (T) = (0 -4.478991858241449) / Math.Sqrt((5.660601052416801 / (299)) + (0.5524689685116597 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09779885965506153 = (4.9645158467977515 - 4.478991858241449) / 4.9645158467977515 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_BigInteger.Add(arguments: 1024,1024 bits)

```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 37.58093108343188 < 57.811440689651405.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.054776558291255 (T) = (0 -37.51336212388317) / Math.Sqrt((110.53182691768302 / (299)) + (0.5557505651025492 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06266783938815912 = (40.02141791379102 - 37.51336212388317) / 40.02141791379102 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_Int32

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryFormat - Duration of single invocation 12.83 ns 2.29 ns 0.18 0.04 False
ToStringHex - Duration of single invocation 19.39 ns 11.02 ns 0.57 0.11 False
ParseSpan - Duration of single invocation 17.25 ns 8.73 ns 0.51 0.30 False
ParseHex - Duration of single invocation 101.04 ns 13.78 ns 0.14 0.35 False
TryFormat - Duration of single invocation 18.55 ns 9.68 ns 0.52 0.01 False
ToStringHex - Duration of single invocation 24.22 ns 18.47 ns 0.76 0.05 False
ParseHex - Duration of single invocation 26.44 ns 8.33 ns 0.31 0.32 False
TryFormat - Duration of single invocation 15.42 ns 5.76 ns 0.37 0.02 False
ParseHex - Duration of single invocation 57.69 ns 10.61 ns 0.18 0.34 False
Parse - Duration of single invocation 23.83 ns 14.78 ns 0.62 0.41 False
ParseHex - Duration of single invocation 103.42 ns 12.98 ns 0.13 0.29 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Int32*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Int32.TryFormat(value: 4)


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.2946744944946555 < 7.181429885842399.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.093561846958027 (T) = (0 -2.301178770815372) / Math.Sqrt((5.568319298267197 / (299)) + (0.0012831098296036954 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.23213073079335472 = (2.9968366531882786 - 2.301178770815372) / 2.9968366531882786 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Int32.ToStringHex(value: 4)

```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 11.017715050620595 < 14.738851302380654.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.141757323330587 (T) = (0 -10.845329673568173) / Math.Sqrt((3.4806622266515412 / (299)) + (0.06093478464752358 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.060779540692791775 = (11.547160803511405 - 10.845329673568173) / 11.547160803511405 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Int32.ParseSpan(value: "4")

```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 8.734297353948525 < 12.308242143097738.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8223255392299302 (T) = (0 -8.9273551441907) / Math.Sqrt((3.7107025638484274 / (299)) + (0.1785421245683629 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05222441348375655 = (9.419271050233682 - 8.9273551441907) / 9.419271050233682 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Int32.ParseHex(value: "80000000")

```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 13.782963378179776 < 60.029013789202885.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8463896015786916 (T) = (0 -13.245329189321817) / Math.Sqrt((411.8266413329078 / (299)) + (0.7648236332630814 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.25540021669582935 = (17.78852141286626 - 13.245329189321817) / 17.78852141286626 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Int32.TryFormat(value: 2147483647)

```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 9.68462333092066 < 13.415630294147102.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.781356462420863 (T) = (0 -9.676905027716085) / Math.Sqrt((4.201009294214313 / (299)) + (0.00014473004250536577 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05533329019416334 = (10.243723979333453 - 9.676905027716085) / 10.243723979333453 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Int32.ToStringHex(value: 2147483647)

```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 18.46821732982392 < 20.082739796329257.
IsChangePoint: Marked as a change because one of 5/20/2022 2:58:35 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 9.957416277135241 (T) = (0 -17.894165797980303) / Math.Sqrt((2.318061429784558 / (299)) + (0.08329576207322877 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.051931728279822016 = (18.87434305286166 - 17.894165797980303) / 18.87434305286166 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Int32.ParseHex(value: "4")

```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 8.325135480437735 < 16.596812845399178.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.4958819725229664 (T) = (0 -8.76065771154447) / Math.Sqrt((16.564571681069896 / (299)) + (1.0293886779085644 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07428616387432958 = (9.463678050022324 - 8.76065771154447) / 9.463678050022324 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Int32.TryFormat(value: 12345)

```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 5.757789837129018 < 9.898921050829612.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.845806914473878 (T) = (0 -5.7579614311306) / Math.Sqrt((4.689010894165782 / (299)) + (2.0443428760487893E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09534381397606567 = (6.364806343100895 - 5.7579614311306) / 6.364806343100895 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Int32.ParseHex(value: "3039")

```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 10.605541788219828 < 32.38766292185444.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8974912902522902 (T) = (0 -10.074471733467218) / Math.Sqrt((120.91700878633748 / (299)) + (0.3781884705115869 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.19915506320488205 = (12.57980324353926 - 10.074471733467218) / 12.57980324353926 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Int32.Parse(value: "2147483647")

```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.77863494000982 < 19.817150741320255.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.406234807672115 (T) = (0 -15.079556020588068) / Math.Sqrt((5.0390454581479105 / (299)) + (0.7124961058192896 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0507105496715281 = (15.88509807558723 - 15.079556020588068) / 15.88509807558723 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Int32.ParseHex(value: "7FFFFFFF")

```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 12.975721170672815 < 56.02341924276913.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9606346956974083 (T) = (0 -13.067540430278044) / Math.Sqrt((409.8736447089349 / (299)) + (0.1857603601116581 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.262222070570742 = (17.712024050905182 - 13.067540430278044) / 17.712024050905182 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Basic

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteBasicUtf16 - Duration of single invocation 1.39 μs 504.63 ns 0.36 0.01 False
WriteBasicUtf8 - Duration of single invocation 1.36 μs 519.48 ns 0.38 0.01 False
WriteBasicUtf8 - Duration of single invocation 1.30 μs 477.44 ns 0.37 0.02 False
WriteBasicUtf8 - Duration of single invocation 1.68 μs 620.08 ns 0.37 0.01 False
WriteBasicUtf8 - Duration of single invocation 4.92 ms 1.68 ms 0.34 0.01 False
WriteBasicUtf8 - Duration of single invocation 1.70 μs 590.61 ns 0.35 0.01 False
WriteBasicUtf8 - Duration of single invocation 3.67 ms 1.34 ms 0.36 0.01 False
WriteBasicUtf16 - Duration of single invocation 5.06 ms 1.74 ms 0.34 0.01 False
WriteBasicUtf16 - Duration of single invocation 1.77 μs 652.72 ns 0.37 0.01 False
WriteBasicUtf16 - Duration of single invocation 1.41 μs 542.29 ns 0.39 0.01 False
WriteBasicUtf16 - Duration of single invocation 3.69 ms 1.31 ms 0.35 0.02 False
WriteBasicUtf16 - Duration of single invocation 4.92 ms 1.67 ms 0.34 0.01 False
WriteBasicUtf16 - Duration of single invocation 1.76 μs 627.65 ns 0.36 0.01 False
WriteBasicUtf8 - Duration of single invocation 5.02 ms 1.73 ms 0.34 0.01 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
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_Basic*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: False, SkipValidation: True, DataSize: 10)


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 504.63089977712565 < 900.9623498394426.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.722562225786515 (T) = (0 -506.1381126268737) / Math.Sqrt((39311.72448577721 / (299)) + (22.133717515623697 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09681835153551598 = (560.3945933659841 - 506.1381126268737) / 560.3945933659841 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: False, SkipValidation: False, DataSize: 10)

```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 519.4819891171231 < 881.7275571541005.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.21983884348987 (T) = (0 -516.3653242433941) / Math.Sqrt((35763.337661020356 / (299)) + (13.422336482556803 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08214172245886772 = (562.5763114831789 - 516.3653242433941) / 562.5763114831789 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: False, SkipValidation: True, DataSize: 10)

```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 477.43933029637816 < 832.456654420938.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.250536681624948 (T) = (0 -476.87960751479267) / Math.Sqrt((35043.58488736339 / (299)) + (7.4994777007177795 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08806261877878284 = (522.9302113662468 - 476.87960751479267) / 522.9302113662468 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: True, SkipValidation: False, DataSize: 10)

```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 620.0793494106347 < 1.092638921159778.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.049591883894432 (T) = (0 -620.9013763411916) / Math.Sqrt((58826.501922190815 / (299)) + (22.145525083793178 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08391560255220738 = (677.7774821523217 - 620.9013763411916) / 677.7774821523217 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: True, SkipValidation: True, DataSize: 100000)

```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 1.6806008787472035 < 3.130702449578571.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.417885652293473 (T) = (0 -1681263.4156314945) / Math.Sqrt((565641917656.9866 / (299)) + (25393922.90058159 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08124978062390249 = (1829946.137888492 - 1681263.4156314945) / 1829946.137888492 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: True, SkipValidation: True, DataSize: 10)

```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 590.6107471482889 < 1.0790017479074496.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.285000118055459 (T) = (0 -587.9413675316486) / Math.Sqrt((58442.48144494234 / (299)) + (18.832515978216815 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09256505538900227 = (647.915722249036 - 587.9413675316486) / 647.915722249036 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: False, SkipValidation: True, DataSize: 100000)

```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 1.3361595989304813 < 2.3801141309686855.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.982827243669861 (T) = (0 -1321112.017190816) / Math.Sqrt((300983515471.34045 / (299)) + (146389980.24452546 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06695168350320636 = (1415909.5449108568 - 1321112.017190816) / 1415909.5449108568 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: True, SkipValidation: False, DataSize: 100000)

```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 1.739785548148148 < 3.191168653535841.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9468601543111994 (T) = (0 -1737293.7663906727) / Math.Sqrt((563709623849.2227 / (299)) + (43252208.52090457 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08980883188796589 = (1908713.0563947987 - 1737293.7663906727) / 1908713.0563947987 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: True, SkipValidation: False, DataSize: 10)

```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 652.7196072791378 < 1.1526965181679243.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.884528613952523 (T) = (0 -654.6634518234216) / Math.Sqrt((65226.73340706001 / (299)) + (16.36281002906039 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08064187549936612 = (712.087525390624 - 654.6634518234216) / 712.087525390624 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: False, SkipValidation: False, DataSize: 10)

```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 542.2919540532831 < 927.3189021923974.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.836133817605799 (T) = (0 -549.6720131574115) / Math.Sqrt((39363.957583256575 / (299)) + (90.26496287697525 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0746842381006815 = (594.0372311708444 - 549.6720131574115) / 594.0372311708444 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: False, SkipValidation: True, DataSize: 100000)

```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 1.3056633843749996 < 2.385777670219974.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.3193300833397688 (T) = (0 -1308423.9178724855) / Math.Sqrt((312589230809.3603 / (299)) + (48728992.59533221 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07584604813736771 = (1415807.3070351072 - 1308423.9178724855) / 1415807.3070351072 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: True, SkipValidation: True, DataSize: 100000)

```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 1.67198420082602 < 3.1281913735022533.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.4116001376435254 (T) = (0 -1680622.7757311908) / Math.Sqrt((555880161256.8932 / (299)) + (198693921.17153445 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08057464286394518 = (1827905.6180984743 - 1680622.7757311908) / 1827905.6180984743 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: True, SkipValidation: True, DataSize: 10)

```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 627.6467039025633 < 1.1347298662913199.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.7176531942074997 (T) = (0 -627.1508414787635) / Math.Sqrt((68564.58255765901 / (299)) + (33.011571366080375 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08249809676215047 = (683.5417335545117 - 627.1508414787635) / 683.5417335545117 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: True, SkipValidation: False, DataSize: 100000)

```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 1.731182375124875 < 3.194114918119347.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9420304227366754 (T) = (0 -1733450.8304257214) / Math.Sqrt((568516806378.2661 / (299)) + (23006882.68257032 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0902274018237423 = (1905367.1586730795 - 1733450.8304257214) / 1905367.1586730795 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Globalization.Tests.StringEquality

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Compare_Same_Upper - Duration of single invocation 33.22 ns 14.36 ns 0.43 0.23 False
Compare_DifferentFirstChar - Duration of single invocation 30.93 ns 11.39 ns 0.37 0.18 False
Compare_DifferentFirstChar - Duration of single invocation 26.89 ns 10.61 ns 0.39 0.13 False

graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Globalization.Tests.StringEquality*'

Payloads

Baseline
Compare

Histogram

System.Globalization.Tests.StringEquality.Compare_Same_Upper(Count: 1024, Options: (en-US, Ordinal))


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.363838277672816 < 22.355979767929874.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.606939972330649 (T) = (0 -14.252688630683283) / Math.Sqrt((19.164578213054448 / (299)) + (0.49661982919251024 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0650742261340537 = (15.244727473655994 - 14.252688630683283) / 15.244727473655994 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, Ordinal))

```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 11.386980305441671 < 20.184311993402638.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.090913703496176 (T) = (0 -11.451360498004918) / Math.Sqrt((19.188649334466934 / (299)) + (0.1913206957117773 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08557623773178424 = (12.523034691924424 - 11.451360498004918) / 12.523034691924424 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, OrdinalIgnoreCase))

```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 10.613178657100015 < 17.784043240477178.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.588681775768889 (T) = (0 -10.661108989130154) / Math.Sqrt((14.527092769966547 / (299)) + (0.0881017157180302 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08829999071140779 = (11.693658967327547 - 10.661108989130154) / 11.693658967327547 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_Version

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryFormat4 - Duration of single invocation 78.65 ns 15.31 ns 0.19 0.03 False
Parse4 - Duration of single invocation 124.08 ns 36.58 ns 0.29 0.03 False
TryFormat2 - Duration of single invocation 41.75 ns 8.16 ns 0.20 0.05 False
Parse3 - Duration of single invocation 89.80 ns 25.54 ns 0.28 0.02 False
TryParse2 - Duration of single invocation 71.56 ns 25.98 ns 0.36 0.05 False
Parse2 - Duration of single invocation 70.52 ns 19.55 ns 0.28 0.05 False
TryParse3 - Duration of single invocation 97.31 ns 36.58 ns 0.38 0.03 False
ToString2 - Duration of single invocation 57.03 ns 17.85 ns 0.31 0.05 False
TryFormat3 - Duration of single invocation 60.95 ns 12.04 ns 0.20 0.03 False
TryParse4 - Duration of single invocation 126.21 ns 46.72 ns 0.37 0.01 False
ToString3 - Duration of single invocation 100.77 ns 21.56 ns 0.21 0.03 False
ToString4 - Duration of single invocation 94.66 ns 25.19 ns 0.27 0.05 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Version*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Version.TryFormat4


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 15.310128795737901 < 44.056580447735854.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.407578382543394 (T) = (0 -15.199973781227913) / Math.Sqrt((194.4875802387144 / (299)) + (0.019087248521958568 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.22301381205222837 = (19.562733568501532 - 15.199973781227913) / 19.562733568501532 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Version.Parse4

```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 36.58493317730021 < 76.16258922345901.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.7632170116082646 (T) = (0 -36.23780422137047) / Math.Sqrt((402.612045978765 / (299)) + (0.14593515454762626 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10766614534044378 = (40.61014163269188 - 36.23780422137047) / 40.61014163269188 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Version.TryFormat2

```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 8.15840300791378 < 23.707895779048958.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.593661006977331 (T) = (0 -8.182025835068282) / Math.Sqrt((59.20965211502333 / (299)) + (0.03623382866210711 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.23364150177521745 = (10.676499124132361 - 8.182025835068282) / 10.676499124132361 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Version.Parse3

```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 25.538339469839443 < 55.16448836360756.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.6851158312085825 (T) = (0 -25.678169886523122) / Math.Sqrt((214.62454757331955 / (299)) + (0.04352624847034917 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10847523289830467 = (28.8025311624282 - 25.678169886523122) / 28.8025311624282 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Version.TryParse2

```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 25.982555538026666 < 46.534669694496635.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.308185564190048 (T) = (0 -25.796085765681372) / Math.Sqrt((108.69579257018492 / (299)) + (0.14992863884632562 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09188122990792176 = (28.40607045603274 - 25.796085765681372) / 28.40607045603274 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Version.Parse2

```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 19.554230385493547 < 42.32206548297574.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.122587610069159 (T) = (0 -19.595455358981663) / Math.Sqrt((128.95073646059964 / (299)) + (0.09791420171313132 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12167210591706543 = (22.309954506729348 - 19.595455358981663) / 22.309954506729348 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Version.TryParse3

```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 36.58404948828959 < 63.63271964519102.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.24622436260022 (T) = (0 -35.98655353672097) / Math.Sqrt((190.57042111231436 / (299)) + (0.5079066753725309 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08681614160951213 = (39.40778541590549 - 35.98655353672097) / 39.40778541590549 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Version.ToString2

```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 17.84523736888106 < 35.174181977900076.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.10099832689932 (T) = (0 -17.994829640704353) / Math.Sqrt((76.72884015471361 / (299)) + (0.6669620298748085 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12882501524607862 = (20.655815370763094 - 17.994829640704353) / 20.655815370763094 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Version.TryFormat3

```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 12.043816953402896 < 34.220852018577354.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.618919899727918 (T) = (0 -12.065935786844003) / Math.Sqrt((113.52750096894106 / (299)) + (0.010149314229042075 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2230230922004138 = (15.529336413632896 - 12.065935786844003) / 15.529336413632896 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Version.TryParse4

```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 46.721302052368024 < 82.16940444851932.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.813592522582909 (T) = (0 -46.430484011416645) / Math.Sqrt((322.2888544213765 / (299)) + (0.084518219638644 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09725538912692357 = (51.43257954928368 - 46.430484011416645) / 51.43257954928368 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Version.ToString3

```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 21.560609661525287 < 46.33317351832279.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.908991889740991 (T) = (0 -21.878654499716383) / Math.Sqrt((162.35408912493284 / (299)) + (0.1362016257729489 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.16638601608380796 = (26.24554640618405 - 21.878654499716383) / 26.24554640618405 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Version.ToString4

```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 25.191595015164022 < 56.2683850790245.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.6599853235395505 (T) = (0 -24.66013472051593) / Math.Sqrt((230.15637684572727 / (299)) + (0.18136082281331478 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.16799883448273678 = (29.63954347970713 - 24.66013472051593) / 29.63954347970713 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_Int16

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParse - Duration of single invocation 19.88 ns 10.57 ns 0.53 0.35 False
Parse - Duration of single invocation 19.17 ns 11.32 ns 0.59 0.32 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Int16*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Int16.TryParse(value: "32767")


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 10.572462146793285 < 14.295532004291704.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.670839400574461 (T) = (0 -10.783627918163146) / Math.Sqrt((3.7793928248284345 / (299)) + (0.1161191563531521 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05091610623263974 = (11.362144051731672 - 10.783627918163146) / 11.362144051731672 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Int16.Parse(value: "32767")

```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 11.316712216416207 < 14.18159299255474.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.885415692988049 (T) = (0 -10.798261437294366) / Math.Sqrt((3.890259839160635 / (299)) + (0.05175646332603622 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05117973798618225 = (11.380723904837005 - 10.798261437294366) / 11.380723904837005 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

@performanceautofiler
Copy link
Author

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Buffers.Text.Tests.Utf8ParserTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParseSingle - Duration of single invocation 89.59 ns 50.33 ns 0.56 0.02 False
TryParseUInt32 - Duration of single invocation 11.55 ns 3.72 ns 0.32 0.05 False
TryParseBool - Duration of single invocation 14.41 ns 1.55 ns 0.11 0.10 False
TryParseInt32 - Duration of single invocation 16.49 ns 6.86 ns 0.42 0.04 False
TryParseInt16 - Duration of single invocation 8.62 ns 2.48 ns 0.29 0.07 False
TryParseUInt32Hex - Duration of single invocation 19.48 ns 5.88 ns 0.30 0.05 False
TryParseInt32 - Duration of single invocation 16.30 ns 6.99 ns 0.43 0.05 False
TryParseSingle - Duration of single invocation 90.13 ns 50.87 ns 0.56 0.01 False
TryParseUInt16 - Duration of single invocation 11.68 ns 3.82 ns 0.33 0.03 False
TryParseInt16 - Duration of single invocation 12.27 ns 4.70 ns 0.38 0.05 False
TryParseUInt64Hex - Duration of single invocation 13.59 ns 2.32 ns 0.17 0.05 False
TryParseDouble - Duration of single invocation 100.94 ns 62.53 ns 0.62 0.03 False
TryParseUInt32Hex - Duration of single invocation 15.60 ns 4.57 ns 0.29 0.05 False
TryParseUInt16 - Duration of single invocation 11.57 ns 3.82 ns 0.33 0.03 False
TryParseUInt32 - Duration of single invocation 16.02 ns 6.20 ns 0.39 0.03 False
TryParseDouble - Duration of single invocation 108.23 ns 62.81 ns 0.58 0.03 False
TryParseInt64 - Duration of single invocation 11.55 ns 4.26 ns 0.37 0.10 False
TryParseUInt32Hex - Duration of single invocation 13.75 ns 3.55 ns 0.26 0.01 False
TryParseUInt64Hex - Duration of single invocation 23.88 ns 9.75 ns 0.41 0.05 False
TryParseBool - Duration of single invocation 14.57 ns 1.98 ns 0.14 0.01 False
TryParseInt16 - Duration of single invocation 12.36 ns 4.66 ns 0.38 0.02 False
TryParseByte - Duration of single invocation 10.03 ns 2.95 ns 0.29 0.04 False
TryParseBool - Duration of single invocation 14.62 ns 1.67 ns 0.11 0.05 False
TryParseUInt64 - Duration of single invocation 10.37 ns 4.37 ns 0.42 0.07 False
TryParseUInt64 - Duration of single invocation 8.19 ns 2.49 ns 0.30 0.07 False
TryParseBool - Duration of single invocation 14.62 ns 1.67 ns 0.11 0.05 False
TryParseSByte - Duration of single invocation 10.61 ns 3.85 ns 0.36 0.05 False
TryParseByte - Duration of single invocation 8.20 ns 2.05 ns 0.25 0.02 False
TryParseInt32 - Duration of single invocation 8.92 ns 2.83 ns 0.32 0.04 False
TryParseSByte - Duration of single invocation 10.52 ns 3.81 ns 0.36 0.02 False
TryParseUInt16 - Duration of single invocation 8.20 ns 2.05 ns 0.25 0.05 False
TryParseUInt32 - Duration of single invocation 8.20 ns 2.05 ns 0.25 0.10 False
TryParseInt32 - Duration of single invocation 12.45 ns 3.97 ns 0.32 0.04 False
TryParseBool - Duration of single invocation 14.41 ns 1.55 ns 0.11 0.05 False
TryParseUInt64Hex - Duration of single invocation 15.63 ns 3.83 ns 0.25 0.03 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Buffers.Text.Tests.Utf8ParserTests*'

Payloads

Baseline
Compare

Histogram

System.Buffers.Text.Tests.Utf8ParserTests.TryParseSingle(value: 3.4028235E+38)


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 50.330650030283984 < 67.41983105700935.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.943113972770708 (T) = (0 -50.884274974560114) / Math.Sqrt((72.67276599389204 / (299)) + (0.5726773168791071 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06462363460644088 = (54.39978692764017 - 50.884274974560114) / 54.39978692764017 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32(value: 12345)

```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 3.7194720408877604 < 7.288865911381102.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.814614340937025 (T) = (0 -3.728365316600123) / Math.Sqrt((3.079826844895363 / (299)) + (0.0007823829042121406 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11596414205238795 = (4.217436751101861 - 3.728365316600123) / 4.217436751101861 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseBool(value: TRUE)

```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 1.546926357972148 < 7.443302449173622.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.7959492085192292 (T) = (0 -1.5435875182606558) / Math.Sqrt((8.323080408842818 / (299)) + (0.0005134187871782371 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2909724248730103 = (2.1770486401522438 - 1.5435875182606558) / 2.1770486401522438 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt32(value: 2147483647)

```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 6.86070181743976 < 11.05448800154557.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.322730787515403 (T) = (0 -6.872574381223934) / Math.Sqrt((4.754868099322546 / (299)) + (0.0026121948332822925 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0736190067303238 = (7.4187342261493034 - 6.872574381223934) / 7.4187342261493034 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt16(value: 0)

```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 2.479682511013807 < 5.3906276405456595.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.643246951140187 (T) = (0 -2.5099806737370987) / Math.Sqrt((1.8390878066698153 / (299)) + (0.007981799518942468 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.15180210621622411 = (2.959192297142095 - 2.5099806737370987) / 2.959192297142095 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32Hex(value: FFFFFFFFFFFFFFFF)

```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 5.878771490704509 < 12.54835632726624.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.917820261570522 (T) = (0 -5.951562177584165) / Math.Sqrt((8.472521094145433 / (299)) + (0.07938493978790455 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.168009296969999 = (7.153399858807744 - 5.951562177584165) / 7.153399858807744 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt32(value: -2147483648)

```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 6.985917247368637 < 11.100240907245546.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.835819235055204 (T) = (0 -6.992391171130587) / Math.Sqrt((4.565314327440134 / (299)) + (0.0004964416142752993 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07875587365242 = (7.590160926021903 - 6.992391171130587) / 7.590160926021903 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseSingle(value: -3.4028235E+38)

```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 50.87237928434389 < 67.78898890291785.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.387522846069911 (T) = (0 -51.3064115098455) / Math.Sqrt((72.78458320261036 / (299)) + (0.2941904522566875 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06719269929829304 = (55.00215475506046 - 51.3064115098455) / 55.00215475506046 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt16(value: 12345)

```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 3.816007666536135 < 7.312611652432729.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.1445541787235545 (T) = (0 -3.825685505814678) / Math.Sqrt((3.0746033769718335 / (299)) + (0.0036627016111743134 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0993514481810143 = (4.2477007242038765 - 3.825685505814678) / 4.2477007242038765 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt16(value: -32768)

```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 4.702439347065548 < 8.118132504863944.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.560042014611277 (T) = (0 -4.741870604527276) / Math.Sqrt((2.9228399878591627 / (299)) + (0.01135522308864551 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0878866894205494 = (5.198773605786811 - 4.741870604527276) / 5.198773605786811 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt64Hex(value: 0)

```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 2.317339885896474 < 7.630223142931938.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.949049776676126 (T) = (0 -2.321294762822267) / Math.Sqrt((6.06790484847845 / (299)) + (0.0018259195750724715 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.29918325029643006 = (3.312270666767202 - 2.321294762822267) / 3.312270666767202 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseDouble(value: 1.7976931348623157e+308)

```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 62.532571770976986 < 78.1526842285842.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.490398364973583 (T) = (0 -62.649868911975) / Math.Sqrt((75.65585242804458 / (299)) + (0.2281235881052876 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.050021468786040975 = (65.94872079047508 - 62.649868911975) / 65.94872079047508 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32Hex(value: 3039)

```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 4.568140726350564 < 9.774600981033839.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.971187288714037 (T) = (0 -4.648303276551406) / Math.Sqrt((5.809736458355417 / (299)) + (0.07399896163120652 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1574162372500566 = (5.516725436745569 - 4.648303276551406) / 5.516725436745569 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt16(value: 65535)

```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 3.815481169059919 < 7.312171591905012.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.267836907324011 (T) = (0 -3.816579133642503) / Math.Sqrt((3.080218619950558 / (299)) + (1.2207488824684683E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10193060470136985 = (4.24975971079985 - 3.816579133642503) / 4.24975971079985 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32(value: 4294967295)

```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 6.199011696632476 < 10.547004367590688.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.337230890999529 (T) = (0 -6.2000338625635685) / Math.Sqrt((4.819352540345313 / (299)) + (9.708429324437024E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08157401053735394 = (6.750716915351114 - 6.2000338625635685) / 6.750716915351114 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseDouble(value: -1.7976931348623157e+308)

```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 62.80754376562401 < 79.27340211428027.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.433334198622434 (T) = (0 -62.933855024555925) / Math.Sqrt((78.52710941036325 / (299)) + (0.46658353099937483 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0507457522557293 = (66.29820743400067 - 62.933855024555925) / 66.29820743400067 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt64(value: 12345)

```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 4.264911674835344 < 7.288453255117395.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.082041883205514 (T) = (0 -4.311880993970152) / Math.Sqrt((1.8483351073561467 / (299)) + (0.027398852910082382 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.13403333868963313 = (4.979269048817056 - 4.311880993970152) / 4.979269048817056 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32Hex(value: 0)

```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 3.5462620478751448 < 8.137576818196063.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.645489060999377 (T) = (0 -3.5554895480828357) / Math.Sqrt((5.34116947144128 / (299)) + (0.0006502404460158899 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12056627352039434 = (4.042930628002574 - 3.5554895480828357) / 4.042930628002574 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt64Hex(value: FFFFFFFFFFFFFFFF)

```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 9.745656647356862 < 15.957499119886014.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.56426355219239 (T) = (0 -9.771731498543895) / Math.Sqrt((9.820669119403497 / (299)) + (0.0010635687889101412 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1085678383428536 = (10.961834134835938 - 9.771731498543895) / 10.961834134835938 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseBool(value:  True )

```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 1.9794365084397743 < 7.70270487502612.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.047160163650912 (T) = (0 -1.9740184914698184) / Math.Sqrt((7.952970609024057 / (299)) + (0.00036830921166466 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2506133218309233 = (2.6341787877692164 - 1.9740184914698184) / 2.6341787877692164 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt16(value: 32767)

```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 4.6631577990743915 < 8.097753863288883.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.39032426073441 (T) = (0 -4.670584192846857) / Math.Sqrt((2.9760894552068478 / (299)) + (6.091750030716472E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08574540303103406 = (5.1086253307681195 - 4.670584192846857) / 5.1086253307681195 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseByte(value: 255)

```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 2.9459390542126296 < 6.133935334416399.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.035418479959479 (T) = (0 -2.9579875405258225) / Math.Sqrt((2.502651164222873 / (299)) + (0.00679497299566756 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11188855823930038 = (3.3306490620834137 - 2.9579875405258225) / 3.3306490620834137 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseBool(value: false)

```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 1.6744338849295923 < 7.707736277501005.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.074036802688781 (T) = (0 -1.694331286916515) / Math.Sqrt((8.22244621183443 / (299)) + (0.0038996515348062 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.33219077002265335 = (2.5371486509313295 - 1.694331286916515) / 2.5371486509313295 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt64(value: 12345)

```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 4.374569706380986 < 7.1885123821608135.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.573603560007939 (T) = (0 -4.431898614467202) / Math.Sqrt((1.812118630685708 / (299)) + (0.021435875167690015 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1072430731716155 = (4.964283649091361 - 4.431898614467202) / 4.964283649091361 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt64(value: 0)

```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 2.494732410586468 < 4.960433192957712.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.7348072221351907 (T) = (0 -2.4774660985832826) / Math.Sqrt((1.6981142137079595 / (299)) + (0.004037283335610153 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10277133302546557 = (2.7612426907148735 - 2.4774660985832826) / 2.7612426907148735 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseBool(value: False)

```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 1.6732125234218935 < 7.850087979459814.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.086876813949822 (T) = (0 -1.692710344774706) / Math.Sqrt((8.238070171786825 / (299)) + (0.00382273479301483 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.333167182515189 = (2.5384328731140506 - 1.692710344774706) / 2.5384328731140506 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseSByte(value: -128)

```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 3.8527885003913056 < 6.868961360015831.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.273102432392996 (T) = (0 -3.83829276203194) / Math.Sqrt((2.3278859882722287 / (299)) + (0.008517607237593873 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09047351393516925 = (4.220100041988604 - 3.83829276203194) / 4.220100041988604 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseByte(value: 0)

```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 2.051898272810066 < 4.890936581376956.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.598262467872122 (T) = (0 -2.053096746424564) / Math.Sqrt((1.9222573440899637 / (299)) + (0.00017405752242465638 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.15228022377354908 = (2.4219049785104003 - 2.053096746424564) / 2.4219049785104003 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt32(value: 4)

```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 2.833512942772493 < 5.555935903421965.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9308171068567135 (T) = (0 -2.830519632895067) / Math.Sqrt((1.95682025984272 / (299)) + (8.610407192437343E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10101281426881714 = (3.1485650494482744 - 2.830519632895067) / 3.1485650494482744 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseSByte(value: 127)

```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 3.813930945751322 < 6.786099597493809.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.858488752623689 (T) = (0 -3.810993787368667) / Math.Sqrt((2.3250577155484016 / (299)) + (0.0001575654178050613 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08198117890813149 = (4.1513242428254 - 3.810993787368667) / 4.1513242428254 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt16(value: 0)

```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 2.04988020138613 < 4.7832151408055.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.7932113780334435 (T) = (0 -2.057512795606613) / Math.Sqrt((2.0002623775254227 / (299)) + (0.012016824070661222 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1017960344860996 = (2.2906966286097648 - 2.057512795606613) / 2.2906966286097648 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32(value: 0)

```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 2.0520967195192465 < 4.791698757485772.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.549046804868356 (T) = (0 -2.077409421314681) / Math.Sqrt((1.998407624509629 / (299)) + (0.018930614813090354 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09384607639966877 = (2.2925568904019276 - 2.077409421314681) / 2.2925568904019276 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt32(value: 12345)

```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 3.969639780175927 < 7.746446279864575.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.7088776173828295 (T) = (0 -3.985437122717244) / Math.Sqrt((3.548457715436962 / (299)) + (0.004865426406237705 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11451617042095867 = (4.500858163171562 - 3.985437122717244) / 4.500858163171562 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseBool(value: true)

```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 1.5468814611880255 < 7.435788449341073.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.7366210479617195 (T) = (0 -1.5483060767774448) / Math.Sqrt((8.36186485340007 / (299)) + (0.002031688315036987 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2877131450610586 = (2.1737114282562024 - 1.5483060767774448) / 2.1737114282562024 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt64Hex(value: 3039)

```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 3.834677095888727 < 9.052149925160487.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.611370620317467 (T) = (0 -3.834089633874846) / Math.Sqrt((6.647120154888583 / (299)) + (1.5627250388885588E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1791291436167896 = (4.670758626719917 - 3.834089633874846) / 4.670758626719917 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Document.Tests.Perf_ParseThenWrite

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ParseThenWrite - Duration of single invocation 700.77 ns 297.00 ns 0.42 0.09 False
ParseThenWrite - Duration of single invocation 4.29 ms 1.56 ms 0.36 0.02 False
ParseThenWrite - Duration of single invocation 14.22 μs 4.93 μs 0.35 0.02 False
ParseThenWrite - Duration of single invocation 61.94 μs 16.35 μs 0.26 0.01 False
ParseThenWrite - Duration of single invocation 4.87 μs 1.70 μs 0.35 0.02 False
ParseThenWrite - Duration of single invocation 38.73 μs 11.21 μs 0.29 0.02 False
ParseThenWrite - Duration of single invocation 68.57 μs 20.81 μs 0.30 0.01 False
ParseThenWrite - Duration of single invocation 5.28 μs 1.95 μs 0.37 0.01 False
ParseThenWrite - Duration of single invocation 3.96 ms 1.32 ms 0.33 0.01 False
ParseThenWrite - Duration of single invocation 48.63 μs 8.40 μs 0.17 0.01 False
ParseThenWrite - Duration of single invocation 54.53 μs 14.49 μs 0.27 0.02 False
ParseThenWrite - Duration of single invocation 41.51 μs 14.23 μs 0.34 0.02 False
ParseThenWrite - Duration of single invocation 736.79 ns 314.57 ns 0.43 0.11 False
ParseThenWrite - Duration of single invocation 10.14 μs 3.63 μs 0.36 0.02 False
ParseThenWrite - Duration of single invocation 13.04 μs 4.03 μs 0.31 0.01 False
ParseThenWrite - Duration of single invocation 9.51 μs 2.86 μs 0.30 0.02 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
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_ParseThenWrite*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: HelloWorld)


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 296.9955350053376 < 467.3657595907965.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.357982999015448 (T) = (0 -290.2964860110486) / Math.Sqrt((8570.472903560358 / (299)) + (27.1161465251672 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07514653539251287 = (313.8837633421766 - 290.2964860110486) / 313.8837633421766 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json400KB)

```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 1.5566089155279503 < 2.772036132000154.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.039045852776565 (T) = (0 -1553302.1105991914) / Math.Sqrt((393254999917.7856 / (299)) + (711212740.1483352 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08666945950008846 = (1700700.9420149154 - 1553302.1105991914) / 1700700.9420149154 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: LotsOfNumbers)

```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 4.926013471908559 < 9.093504315124573.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.931451138683993 (T) = (0 -4989.740309885179) / Math.Sqrt((4282011.486274041 / (299)) + (2526.5262237676784 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10595764352687641 = (5581.1005751103685 - 4989.740309885179) / 5581.1005751103685 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: BroadTree)

```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.352378372047628 < 37.03395590178192.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.315045264760414 (T) = (0 -16090.38375559179) / Math.Sqrt((107876785.18436177 / (299)) + (30632.826306813764 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1388523728115412 = (18684.81459807875 - 16090.38375559179) / 18684.81459807875 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400B)

```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 1.703312919230726 < 3.1093001998439584.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9005960253274243 (T) = (0 -1700.2954916716828) / Math.Sqrt((521770.03469731676 / (299)) + (198.47675470439174 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08755681983014023 = (1863.4535592179636 - 1700.2954916716828) / 1863.4535592179636 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json4KB)

```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 11.213949805430067 < 23.56452262964121.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.200293506251715 (T) = (0 -11214.75837598994) / Math.Sqrt((37009620.56027715 / (299)) + (8459.037785040722 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11650874773697928 = (12693.683550645093 - 11214.75837598994) / 12693.683550645093 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: BroadTree)

```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 20.806820683654742 < 42.42989810477323.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.456005546968197 (T) = (0 -20875.40066047758) / Math.Sqrt((115309941.62583332 / (299)) + (49423.52398312428 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1171975256734155 = (23646.74008917075 - 20875.40066047758) / 23646.74008917075 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json400B)

```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 1.9466584111846124 < 3.418554652542576.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.169648134384128 (T) = (0 -1934.6520147791998) / Math.Sqrt((562182.5943981761 / (299)) + (248.04495119559346 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0855868968343478 = (2115.7308530264186 - 1934.6520147791998) / 2115.7308530264186 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400KB)

```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 1.3210592551020408 < 2.5015967384348965.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.183617491822248 (T) = (0 -1298322.0537541592) / Math.Sqrt((365064884020.8521 / (299)) + (76319323.54170327 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1012664023295763 = (1444612.7941800496 - 1298322.0537541592) / 1444612.7941800496 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: DeepTree)

```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 8.397102106227107 < 27.055482382342802.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.078390417516886 (T) = (0 -8543.352718234655) / Math.Sqrt((81640090.71198931 / (299)) + (14638.593471780796 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1997448737712147 = (10675.786306418726 - 8543.352718234655) / 10675.786306418726 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: DeepTree)

```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.487318709251461 < 32.785176811817095.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9960393685235185 (T) = (0 -14601.38533322282) / Math.Sqrt((83396167.38092412 / (299)) + (16107.401693402368 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1263568171003865 = (16713.21383721093 - 14601.38533322282) / 16713.21383721093 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json4KB)

```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.232984852272727 < 26.427275078850986.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9636210264350935 (T) = (0 -14223.083058375438) / Math.Sqrt((38335780.02471708 / (299)) + (67002.0904573235 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09123082955274454 = (15650.93042425226 - 14223.083058375438) / 15650.93042425226 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: HelloWorld)

```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 314.56629373931156 < 500.6941454526784.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.2537420056140443 (T) = (0 -317.8611575508283) / Math.Sqrt((9028.02350548871 / (299)) + (439.7616357784765 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.061103659445471074 = (338.54765837418626 - 317.8611575508283) / 338.54765837418626 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: LotsOfStrings)

```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 3.630249320026931 < 6.510062874191767.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.4525680818878985 (T) = (0 -3591.699039684007) / Math.Sqrt((2214831.8247819855 / (299)) + (1067.487788574991 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09655477752111792 = (3975.5581747713127 - 3591.699039684007) / 3975.5581747713127 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: LotsOfNumbers)

```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 4.033562997745447 < 8.162414566561857.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.4802796267564 (T) = (0 -4128.410263412365) / Math.Sqrt((4028843.5501196086 / (299)) + (3612.095277659653 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11218823465210223 = (4650.096365635126 - 4128.410263412365) / 4650.096365635126 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: LotsOfStrings)

```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 2.8630618116781124 < 5.759084236303442.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.890143267500812 (T) = (0 -2859.5469149045443) / Math.Sqrt((2107553.8271820694 / (299)) + (1972.6315701507324 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10280572397371648 = (3187.2103861045734 - 2859.5469149045443) / 3187.2103861045734 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in Microsoft.Extensions.Primitives.StringSegmentBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
StartsWith - Duration of single invocation 8.54 ns 1.17 ns 0.14 0.09 False
LastIndexOf - Duration of single invocation 14.55 ns 3.17 ns 0.22 0.04 False
TrimStart - Duration of single invocation 63.46 ns 12.76 ns 0.20 0.01 False
Trim - Duration of single invocation 139.87 ns 28.69 ns 0.21 0.04 False
EndsWith - Duration of single invocation 17.15 ns 2.27 ns 0.13 0.02 False
IndexOfAny - Duration of single invocation 13.88 ns 4.70 ns 0.34 0.06 False
Equals_String - Duration of single invocation 10.52 ns 1.44 ns 0.14 0.11 False
Equals_Valid - Duration of single invocation 22.08 ns 4.12 ns 0.19 0.03 False
Equals_Object_Valid - Duration of single invocation 22.51 ns 4.83 ns 0.21 0.02 False
GetSegmentHashCode - Duration of single invocation 19.33 ns 8.40 ns 0.43 0.05 False
IndexOf - Duration of single invocation 10.79 ns 3.15 ns 0.29 0.01 False
TrimEnd - Duration of single invocation 68.82 ns 7.98 ns 0.12 0.01 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Microsoft.Extensions.Primitives.StringSegmentBenchmark*'

Payloads

Baseline
Compare

Histogram

Microsoft.Extensions.Primitives.StringSegmentBenchmark.StartsWith


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.1711539541424079 < 4.6268212392860795.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.004139270728103 (T) = (0 -1.207300685936942) / Math.Sqrt((2.762211595113015 / (299)) + (0.03612645300055365 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.24978806361961134 = (1.6092794947543867 - 1.207300685936942) / 1.6092794947543867 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.LastIndexOf

```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 3.1656567151484443 < 9.119403463193642.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.0527665146577876 (T) = (0 -3.4931217906213767) / Math.Sqrt((6.88267738270026 / (299)) + (0.36320012834609067 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09440149255416778 = (3.8572521508162 - 3.4931217906213767) / 3.8572521508162 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.TrimStart

```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 12.761510727829378 < 36.000607745480345.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.159397113470604 (T) = (0 -12.666857267088469) / Math.Sqrt((126.81972591495963 / (299)) + (0.010882991000147767 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.17622163875633956 = (15.376535562266142 - 12.666857267088469) / 15.376535562266142 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Trim

```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 28.690294023425817 < 78.15555978545255.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.011296035596151 (T) = (0 -28.772961761986164) / Math.Sqrt((609.2836460163041 / (299)) + (0.09894572760164196 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.16605654140769796 = (34.50229324965864 - 28.772961761986164) / 34.50229324965864 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.EndsWith

```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 2.2680203122040843 < 9.114078888217719.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.075845120012001 (T) = (0 -2.2655266047709732) / Math.Sqrt((11.337049566179381 / (299)) + (0.0006542529911961019 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.30379366542656117 = (3.254102257140546 - 2.2655266047709732) / 3.254102257140546 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.IndexOfAny

```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 4.7034239837188245 < 8.812586164246627.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.4696688725317757 (T) = (0 -4.720211872605109) / Math.Sqrt((4.512540245066103 / (299)) + (0.0014698771473402263 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08290961583806372 = (5.146942934003801 - 4.720211872605109) / 5.146942934003801 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_String

```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 1.439255798357804 < 5.708175150404194.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.609534285652859 (T) = (0 -1.4584044757070518) / Math.Sqrt((4.141380683510303 / (299)) + (0.0009837054462291635 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2712878818185932 = (2.001345166794652 - 1.4584044757070518) / 2.001345166794652 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Valid

```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 4.117455067296676 < 12.514332270052074.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.175462970875476 (T) = (0 -4.1367881428951225) / Math.Sqrt((15.790887502163532 / (299)) + (0.005549410952973037 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2556654687857793 = (5.557700159559772 - 4.1367881428951225) / 5.557700159559772 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Object_Valid

```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 4.834659764680928 < 13.043451355095529.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.569319494474617 (T) = (0 -4.811552019473087) / Math.Sqrt((15.197252710090819 / (299)) + (0.006799214202912781 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.23564231231148597 = (6.2948958281869976 - 4.811552019473087) / 6.2948958281869976 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.GetSegmentHashCode

```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 8.403881107045455 < 13.17973348342523.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.059125035888591 (T) = (0 -8.437220675177164) / Math.Sqrt((6.089903819176781 / (299)) + (0.04830792636952913 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0658814919957639 = (9.03228081113976 - 8.437220675177164) / 9.03228081113976 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.IndexOf

```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 3.1531049091088668 < 6.625298839104902.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.797719529194402 (T) = (0 -3.1520550881808473) / Math.Sqrt((3.053310966184428 / (299)) + (1.2631560489001487E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10853939929695992 = (3.5358321901102703 - 3.1520550881808473) / 3.5358321901102703 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.TrimEnd

```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 7.982695634016133 < 36.477667973861344.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.0796824832116485 (T) = (0 -7.982197595682587) / Math.Sqrt((193.37240591455623 / (299)) + (3.5410068639485075E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.29129418655883527 = (11.263062111660316 - 7.982197595682587) / 11.263062111660316 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Document.Tests.Perf_DocumentParse

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Parse - Duration of single invocation 4.30 μs 1.39 μs 0.32 0.01 False
Parse - Duration of single invocation 2.05 μs 844.20 ns 0.41 0.01 False
Parse - Duration of single invocation 2.40 ms 906.43 μs 0.38 0.01 False
Parse - Duration of single invocation 7.85 μs 1.92 μs 0.24 0.01 False
Parse - Duration of single invocation 2.25 ms 730.79 μs 0.33 0.01 False
Parse - Duration of single invocation 417.88 ns 188.93 ns 0.45 0.18 False
Parse - Duration of single invocation 24.28 ms 4.95 ms 0.20 0.01 False
Parse - Duration of single invocation 2.57 μs 868.81 ns 0.34 0.01 False
Parse - Duration of single invocation 1.94 μs 688.65 ns 0.35 0.01 False
Parse - Duration of single invocation 634.88 ns 270.36 ns 0.43 0.10 False
Parse - Duration of single invocation 7.99 μs 2.09 μs 0.26 0.01 False
Parse - Duration of single invocation 2.73 μs 1.04 μs 0.38 0.01 False
Parse - Duration of single invocation 4.21 μs 1.21 μs 0.29 0.01 False
Parse - Duration of single invocation 645.62 ns 272.61 ns 0.42 0.12 False
Parse - Duration of single invocation 24.05 ms 4.73 ms 0.20 0.01 False
Parse - Duration of single invocation 422.82 ns 196.37 ns 0.46 0.14 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
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_DocumentParse*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: True, TestCase: BasicJson)


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.387336124988848 < 2.702291154224627.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.885026044542692 (T) = (0 -1384.1388266151) / Math.Sqrt((424612.11715317477 / (299)) + (130.0820608353409 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11749683884980815 = (1568.4236471301836 - 1384.1388266151) / 1568.4236471301836 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: BasicJson)

```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 844.2030943205181 < 1.3820132785229324.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.48346070716765 (T) = (0 -846.023008054901) / Math.Sqrt((74336.69205090008 / (299)) + (43.77196149685566 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0772615007119868 = (916.8610702898968 - 846.023008054901) / 916.8610702898968 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: Json400KB)

```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 906.425588811189 < 1.5581064575015633.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.990980137165572 (T) = (0 -901998.1668020703) / Math.Sqrt((111798493471.2097 / (299)) + (67368853.435314 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07896596430996941 = (979332.0679254825 - 901998.1668020703) / 979332.0679254825 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: True, TestCase: Json400B)

```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 1.9196937969577537 < 4.648515799627358.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.6260362581725865 (T) = (0 -1936.5425546031945) / Math.Sqrt((1768354.050647996 / (299)) + (216.92353362790223 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.15525384712858564 = (2292.4550150605673 - 1936.5425546031945) / 2292.4550150605673 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: Json400KB)

```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 730.7942972709552 < 1.417047396891103.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.110574095163949 (T) = (0 -735968.5940021203) / Math.Sqrt((117681844986.90013 / (299)) + (42034853.94662485 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09986403667785089 = (817619.3641745708 - 735968.5940021203) / 817619.3641745708 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: HelloWorld)

```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 188.9270538921674 < 289.6067287183959.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9490341195571035 (T) = (0 -187.30617560529075) / Math.Sqrt((2817.2434079065324 / (299)) + (19.365141073368584 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.062129357331530084 = (199.7142964965394 - 187.30617560529075) / 199.7142964965394 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: True, TestCase: Json400KB)

```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 4.949021016034985 < 13.861479911569939.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.432554072176786 (T) = (0 -4935290.91401507) / Math.Sqrt((18927552946619.203 / (299)) + (661231813.2165889 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1843383555158279 = (6050659.544174311 - 4935290.91401507) / 6050659.544174311 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: Json400B)

```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 868.8116879812563 < 1.6485789369029524.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.613011892066351 (T) = (0 -876.9722674354289) / Math.Sqrt((144494.34112524652 / (299)) + (87.10459280572918 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10384380018785261 = (978.5930930559429 - 876.9722674354289) / 978.5930930559429 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: BasicJson)

```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 688.6482400956028 < 1.2278675249757185.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.107297567126737 (T) = (0 -688.2663944405467) / Math.Sqrt((79149.31944648772 / (299)) + (115.451269181322 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08890806750040091 = (755.4302369380815 - 688.2663944405467) / 755.4302369380815 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: True, TestCase: HelloWorld)

```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 270.3568400819658 < 425.217344311737.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.7383248905712985 (T) = (0 -262.1938218103519) / Math.Sqrt((6863.700257412465 / (299)) + (53.34885659783036 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06553751291455695 = (280.58250109977723 - 262.1938218103519) / 280.58250109977723 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: True, TestCase: Json400B)

```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 2.0945604082321188 < 4.799799940605567.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.568487199418192 (T) = (0 -2108.4790089015614) / Math.Sqrt((1753579.3155136043 / (299)) + (326.99234439882446 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14239617663147466 = (2458.5699730439705 - 2108.4790089015614) / 2458.5699730439705 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: Json400B)

```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 1.03937902064745 < 1.786697189759974.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.990630148273088 (T) = (0 -1040.6420860921473) / Math.Sqrt((142416.77506263435 / (299)) + (165.36374471204522 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07751579261015708 = (1128.0866141184472 - 1040.6420860921473) / 1128.0866141184472 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: True, TestCase: BasicJson)

```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 1.2143478571243151 < 2.560160362547279.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.603670305005164 (T) = (0 -1225.6945986152136) / Math.Sqrt((444073.56629260926 / (299)) + (146.34922304000605 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12657208167675826 = (1403.3151138198489 - 1225.6945986152136) / 1403.3151138198489 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: True, TestCase: HelloWorld)

```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 272.61197516584645 < 430.7709752180129.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.635338311932976 (T) = (0 -268.5086433163) / Math.Sqrt((7026.2816390706685 / (299)) + (29.093379086537468 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.078240522728843 = (291.3001167193987 - 268.5086433163) / 291.3001167193987 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: True, TestCase: Json400KB)

```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 4.725140461538462 < 13.710815781810897.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.543833502674131 (T) = (0 -4732690.209200296) / Math.Sqrt((18838449467730.07 / (299)) + (819321550.6370856 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.19421621953044443 = (5873399.693454252 - 4732690.209200296) / 5873399.693454252 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: HelloWorld)

```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 196.3704233176974 < 296.5548780718589.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.089467377447255 (T) = (0 -195.7610823515207) / Math.Sqrt((2734.5802208148634 / (299)) + (15.99189509863908 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06054541017646659 = (208.37737605634814 - 195.7610823515207) / 208.37737605634814 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Get

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetGuid - Duration of single invocation 10.61 μs 3.97 μs 0.37 0.03 False
GetInt64 - Duration of single invocation 592.15 ns 406.73 ns 0.69 0.05 False
GetDateTime - Duration of single invocation 8.75 μs 2.86 μs 0.33 0.08 False
GetDateTimeOffset - Duration of single invocation 12.09 μs 4.15 μs 0.34 0.06 False

graph
graph
graph
graph
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_Get*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Get.GetGuid


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 3.9681573470684337 < 7.2810074856769615.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.229726216036012 (T) = (0 -3971.419640975724) / Math.Sqrt((2238871.8230656143 / (299)) + (67.39513691477578 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08439186580622125 = (4337.466534712125 - 3971.419640975724) / 4337.466534712125 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Get.GetInt64

```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 406.73359810302554 < 504.55565607314196.
IsChangePoint: Marked as a change because one of 5/20/2022 10:18:01 PM, 6/6/2022 10:12:27 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.941482757623685 (T) = (0 -411.01191505137905) / Math.Sqrt((1917.8695573574591 / (299)) + (257.7597642782431 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09984160931117504 = (456.5995488159166 - 411.01191505137905) / 456.5995488159166 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Get.GetDateTime

```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 2.859840476024579 < 5.470336253039218.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.0839228968652295 (T) = (0 -2862.4210393623143) / Math.Sqrt((1767476.4077557442 / (299)) + (69.53370450706464 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12016239414987699 = (3253.3515507064117 - 2862.4210393623143) / 3253.3515507064117 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Get.GetDateTimeOffset

```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 4.151598636031366 < 7.713053413764276.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.972497253511425 (T) = (0 -4194.196033599036) / Math.Sqrt((3278443.2740942156 / (299)) + (15939.060471119636 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09160275220553227 = (4617.138640371582 - 4194.196033599036) / 4617.138640371582 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.IO.Tests.Perf_Path

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetFileName - Duration of single invocation 42.43 ns 16.40 ns 0.39 0.16 False
ChangeExtension - Duration of single invocation 41.48 ns 15.04 ns 0.36 0.05 False
Combine - Duration of single invocation 11.93 ns 1.29 ns 0.11 0.10 False
HasExtension - Duration of single invocation 10.23 ns 2.65 ns 0.26 0.07 False
GetFileNameWithoutExtension - Duration of single invocation 56.73 ns 19.18 ns 0.34 0.15 False
GetExtension - Duration of single invocation 27.66 ns 11.77 ns 0.43 0.08 False
IsPathRooted - Duration of single invocation 9.29 ns 0.04 ns 0.00 0.08 False
GetPathRoot - Duration of single invocation 8.91 ns 0.43 ns 0.05 0.12 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.IO.Tests.Perf_Path*'

Payloads

Baseline
Compare

Histogram

System.IO.Tests.Perf_Path.GetFileName


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.397517614989628 < 28.187293673578324.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.740215758740476 (T) = (0 -16.332986863906054) / Math.Sqrt((34.288326262395 / (299)) + (0.2550988545661451 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10877747890847039 = (18.326497005374303 - 16.332986863906054) / 18.326497005374303 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.Perf_Path.ChangeExtension

```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 15.04125238082069 < 27.133659934678793.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.313647025944948 (T) = (0 -15.326245675883401) / Math.Sqrt((36.61107659248122 / (299)) + (0.12051000322300592 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07107788910505422 = (16.4989566898324 - 15.326245675883401) / 16.4989566898324 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.Perf_Path.Combine

```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 1.2918764546957644 < 6.278336495789519.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.40781696129116 (T) = (0 -1.291377694408358) / Math.Sqrt((6.550907096843955 / (299)) + (3.454714715553193E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3356518728707397 = (1.9438268005489512 - 1.291377694408358) / 1.9438268005489512 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.Perf_Path.HasExtension

```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 2.6466055002431603 < 6.551733085430247.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.2297022841416805 (T) = (0 -2.8189354399537008) / Math.Sqrt((2.906825862017495 / (299)) + (0.1301271698669002 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.17318882439593364 = (3.409406552704362 - 2.8189354399537008) / 3.409406552704362 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.Perf_Path.GetFileNameWithoutExtension

```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 19.178252412511736 < 36.205827542016664.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.979631562032177 (T) = (0 -18.943883591736437) / Math.Sqrt((69.92068654792521 / (299)) + (0.6228315807612188 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.13591814248415957 = (21.923714086763077 - 18.943883591736437) / 21.923714086763077 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.Perf_Path.GetExtension

```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 11.767352246467544 < 18.481976115684862.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8536783761397246 (T) = (0 -11.601960065293934) / Math.Sqrt((13.13664266758334 / (299)) + (0.033400003635252695 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06562613818658092 = (12.416828573069264 - 11.601960065293934) / 12.416828573069264 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.Perf_Path.IsPathRooted

```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 0.03922843506764114 < 4.495367133763036.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.452908631290524 (T) = (0 -0.06973558883701975) / Math.Sqrt((4.2628510869304845 / (299)) + (0.004151014800244286 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.8843948822908008 = (0.6032223332226279 - 0.06973558883701975) / 0.6032223332226279 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.Perf_Path.GetPathRoot

```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 0.4334253305407297 < 4.331498770098675.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.482496455543137 (T) = (0 -0.3903176101463061) / Math.Sqrt((3.767610298300636 / (299)) + (0.008362508085006366 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5023001175329003 = (0.7842429220828838 - 0.3903176101463061) / 0.7842429220828838 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Document.Tests.Perf_EnumerateObject

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Parse - Duration of single invocation 2.18 ms 694.94 μs 0.32 0.06 False
PropertyIndexer - Duration of single invocation 17.13 μs 1.61 μs 0.09 0.01 False
Parse - Duration of single invocation 43.94 μs 18.33 μs 0.42 0.01 False
EnumerateProperties - Duration of single invocation 5.08 μs 709.72 ns 0.14 0.02 False
PropertyIndexer - Duration of single invocation 17.13 μs 1.62 μs 0.09 0.01 False
EnumerateProperties - Duration of single invocation 5.08 μs 707.31 ns 0.14 0.02 False
PropertyIndexer - Duration of single invocation 18.32 μs 2.61 μs 0.14 0.01 False
Parse - Duration of single invocation 42.21 μs 16.11 μs 0.38 0.01 False
EnumerateProperties - Duration of single invocation 5.78 μs 1.41 μs 0.24 0.02 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
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_EnumerateObject*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase: ObjectProperties)


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 694.9387096014492 < 1.3724331055042611.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.153024236125078 (T) = (0 -681439.3207917371) / Math.Sqrt((113667379206.59357 / (299)) + (92368567.78284799 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10647548481130664 = (762641.9971788145 - 681439.3207917371) / 762641.9971788145 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateObject.PropertyIndexer(TestCase: StringProperties)

```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 1.6142271076970875 < 8.92939743849305.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.443245076429969 (T) = (0 -1617.3003817783049) / Math.Sqrt((12132536.692984655 / (299)) + (67.64917316156438 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3562608675693975 = (2512.353685369059 - 1617.3003817783049) / 2512.353685369059 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase: NumericProperties)

```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 18.32818554611176 < 29.67267125509014.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.304747195965025 (T) = (0 -18192.412141084165) / Math.Sqrt((33857282.65841775 / (299)) + (14134.57021057754 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07385127530683484 = (19643.078542392148 - 18192.412141084165) / 19643.078542392148 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateObject.EnumerateProperties(TestCase: NumericProperties)

```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 709.7228762885761 < 2.726663090640912.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 10.054295345943421 (T) = (0 -707.7627817238418) / Math.Sqrt((892254.3713382863 / (299)) + (0.7751379043006859 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.43694387974060744 = (1257.0021997057502 - 707.7627817238418) / 1257.0021997057502 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateObject.PropertyIndexer(TestCase: NumericProperties)

```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 1.6156147654240365 < 8.9296083499567.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.413220387877442 (T) = (0 -1622.5712617711154) / Math.Sqrt((12146460.125950573 / (299)) + (1263.2836137153158 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.35417238709356735 = (2512.390658660476 - 1622.5712617711154) / 2512.390658660476 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateObject.EnumerateProperties(TestCase: StringProperties)

```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 707.3128413130627 < 2.750300773313174.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 10.051609073576568 (T) = (0 -707.4209242683718) / Math.Sqrt((897436.915091384 / (299)) + (0.6105797679382534 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.43770942059466306 = (1258.1055955383792 - 707.4209242683718) / 1258.1055955383792 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateObject.PropertyIndexer(TestCase: ObjectProperties)

```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 2.614296076545688 < 9.981357250226985.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.484829743559573 (T) = (0 -2611.135495958496) / Math.Sqrt((12373188.864775473 / (299)) + (388.929372340053 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2589503676227587 = (3523.5635804610483 - 2611.135495958496) / 3523.5635804610483 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase: StringProperties)

```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.109543962409884 < 27.42981928666521.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.3437314339285638 (T) = (0 -16075.741762820619) / Math.Sqrt((36330017.93904677 / (299)) + (16253.30877804083 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06769986310058931 = (17243.097074172252 - 16075.741762820619) / 17243.097074172252 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateObject.EnumerateProperties(TestCase: ObjectProperties)

```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 1.4100711501117087 < 3.3914832930008476.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.66092007129599 (T) = (0 -1401.7745314882357) / Math.Sqrt((929263.5254341481 / (299)) + (125.04616372527059 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2562877026251655 = (1884.8344130334242 - 1401.7745314882357) / 1884.8344130334242 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.WriteJson<ArrayList>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToString - Duration of single invocation 11.03 μs 5.95 μs 0.54 0.04 False
SerializeObjectProperty - Duration of single invocation 10.67 μs 6.26 μs 0.59 0.03 False
SerializeToUtf8Bytes - Duration of single invocation 10.06 μs 5.52 μs 0.55 0.03 False
SerializeToStream - Duration of single invocation 10.10 μs 5.68 μs 0.56 0.02 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ArrayList&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToString


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 5.946349355612764 < 7.892660240689738.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.740196251886829 (T) = (0 -6012.495905824093) / Math.Sqrt((837075.8290671255 / (299)) + (5043.239495419306 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07279485918053763 = (6484.536852880538 - 6012.495905824093) / 6484.536852880538 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;ArrayList&gt;.SerializeObjectProperty

```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 6.26217696536361 < 7.988689507657387.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 9.630163354336306 (T) = (0 -6209.62892263027) / Math.Sqrt((850515.1014225186 / (299)) + (4714.216210669799 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07773904582403482 = (6733.049788688644 - 6209.62892263027) / 6733.049788688644 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;ArrayList&gt;.SerializeToUtf8Bytes

```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 5.524244049720134 < 7.474613980804613.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.637374899569698 (T) = (0 -5719.012722684437) / Math.Sqrt((865502.8334838238 / (299)) + (6793.039388076712 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0687137640896456 = (6140.982763579627 - 5719.012722684437) / 6140.982763579627 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;ArrayList&gt;.SerializeToStream

```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 5.6784800289709985 < 7.557174160172375.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.142353553987423 (T) = (0 -5715.929686225936) / Math.Sqrt((813527.7204597517 / (299)) + (3842.608541801421 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07021254534818025 = (6147.565938461062 - 5715.929686225936) / 6147.565938461062 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.Constructors<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
MemoryMarshalCreateReadOnlySpan - Duration of single invocation 4.48 ns 0.85 ns 0.19 0.11 False
ReadOnlySpanFromMemory - Duration of single invocation 6.01 ns 2.01 ns 0.33 0.11 False
ReadOnlySpanImplicitCastFromArray - Duration of single invocation 4.48 ns 1.41 ns 0.31 0.16 False
ReadOnlySpanImplicitCastFromSpan - Duration of single invocation 10.47 ns 1.70 ns 0.16 0.16 False
SpanFromMemory - Duration of single invocation 6.22 ns 1.85 ns 0.30 0.17 False
MemoryMarshalCreateSpan - Duration of single invocation 4.49 ns 0.84 ns 0.19 0.12 False

graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Constructors&lt;String&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Constructors<String>.MemoryMarshalCreateReadOnlySpan


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 0.847837527017904 < 2.551009080249017.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.996974177764395 (T) = (0 -0.8515950222385789) / Math.Sqrt((0.6607316630540933 / (299)) + (0.0001212959814780665 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2163083129727281 = (1.086645470834175 - 0.8515950222385789) / 1.086645470834175 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.ReadOnlySpanFromMemory

```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 2.006177160507694 < 3.8141756124319808.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.817919720931074 (T) = (0 -2.0264945758792425) / Math.Sqrt((0.8669604700304114 / (299)) + (0.008440007484529985 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11682795113444794 = (2.2945637585364094 - 2.0264945758792425) / 2.2945637585364094 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.ReadOnlySpanImplicitCastFromArray

```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 1.4084583723677544 < 2.5760169312968793.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.024350453785504 (T) = (0 -1.1135897435006292) / Math.Sqrt((0.6153852180055767 / (299)) + (0.004344833537489834 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07789110006867757 = (1.207655346980783 - 1.1135897435006292) / 1.207655346980783 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.ReadOnlySpanImplicitCastFromSpan

```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 1.7045151763113355 < 5.628030029702925.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9225769995523865 (T) = (0 -1.7422728965768648) / Math.Sqrt((3.6826372823204365 / (299)) + (0.017275115281709424 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.20249063031508777 = (2.1846425418991866 - 1.7422728965768648) / 2.1846425418991866 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.SpanFromMemory

```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 1.845898220732952 < 4.153572079087945.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.0865447835715205 (T) = (0 -1.923112353181677) / Math.Sqrt((0.8555601197106069 / (299)) + (0.050443206748498476 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14383673647519749 = (2.246198166999448 - 1.923112353181677) / 2.246198166999448 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.MemoryMarshalCreateSpan

```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 0.8445575554146915 < 2.5526535436312705.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.240555407408554 (T) = (0 -0.8479090402789939) / Math.Sqrt((0.665204294934773 / (299)) + (0.00015256948863860584 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.22585847081110694 = (1.0952894377949092 - 0.8479090402789939) / 1.0952894377949092 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IsMatch - Duration of single invocation 79.07 ns 35.49 ns 0.45 0.10 False
IsMatch - Duration of single invocation 202.30 ns 145.63 ns 0.72 0.09 False
IsMatch - Duration of single invocation 202.16 ns 156.18 ns 0.77 0.03 False
IsMatch - Duration of single invocation 117.84 ns 36.65 ns 0.31 0.04 False
IsMatch - Duration of single invocation 80.36 ns 35.47 ns 0.44 0.11 False
IsMatch - Duration of single invocation 196.42 ns 62.17 ns 0.32 0.08 False
IsMatch - Duration of single invocation 120.58 ns 98.02 ns 0.81 0.07 False
IsMatch - Duration of single invocation 116.60 ns 39.90 ns 0.34 0.11 False
IsMatch - Duration of single invocation 173.06 ns 98.46 ns 0.57 0.08 False
IsMatch - Duration of single invocation 118.79 ns 93.64 ns 0.79 0.07 False
IsMatch - Duration of single invocation 82.28 ns 35.88 ns 0.44 0.13 False
IsMatch - Duration of single invocation 115.21 ns 88.97 ns 0.77 0.06 False
IsMatch - Duration of single invocation 126.79 ns 96.02 ns 0.76 0.06 False
IsMatch - Duration of single invocation 149.85 ns 86.52 ns 0.58 0.08 False
IsMatch - Duration of single invocation 117.82 ns 39.90 ns 0.34 0.09 False
IsMatch - Duration of single invocation 200.65 ns 146.03 ns 0.73 0.03 False
IsMatch - Duration of single invocation 994.66 ns 666.84 ns 0.67 0.11 False
IsMatch - Duration of single invocation 85.21 ns 35.75 ns 0.42 0.13 False
IsMatch - Duration of single invocation 119.60 ns 36.92 ns 0.31 0.04 False
IsMatch - Duration of single invocation 147.40 ns 84.76 ns 0.58 0.08 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple*'

Payloads

Baseline
Compare

Histogram

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 7, Options: Compiled)


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 35.48535114930313 < 54.56763759115064.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.243173403295922 (T) = (0 -35.56948014237384) / Math.Sqrt((100.52386124731062 / (299)) + (0.47148736053719664 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06567205198483315 = (38.069588111899705 - 35.56948014237384) / 38.069588111899705 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 13, Options: NonBacktracking)

```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 145.6313479953947 < 174.2931473952144.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.175578172832047 (T) = (0 -154.89633453261445) / Math.Sqrt((207.530476040222 / (299)) + (109.5367545263009 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05674361884267826 = (164.21445709443861 - 154.89633453261445) / 164.21445709443861 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 2, Options: NonBacktracking)

```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 156.18026021925766 < 171.69160692517337.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 6/7/2022 9:37:06 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 17.11561436247484 (T) = (0 -156.19271543679326) / Math.Sqrt((241.89287097651476 / (299)) + (5.883800178754498 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09630767101211331 = (172.8383769858103 - 156.19271543679326) / 172.8383769858103 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 9, Options: Compiled)

```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 36.652149137979954 < 73.51150163915035.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.372627374937437 (T) = (0 -36.91293120051028) / Math.Sqrt((339.6479391264109 / (299)) + (0.26574999128516064 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11237060510135143 = (41.58597204267337 - 36.91293120051028) / 41.58597204267337 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 8, Options: Compiled)

```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 35.46800756598163 < 54.71115888187558.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.467404934514563 (T) = (0 -35.73758410417114) / Math.Sqrt((98.0005443549974 / (299)) + (0.7843748355246838 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0684944032545539 = (38.36539923005659 - 35.73758410417114) / 38.36539923005659 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 2, Options: Compiled)

```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 62.17183957177042 < 124.11555192148477.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.632961347976201 (T) = (0 -62.86349523071684) / Math.Sqrt((902.4090511684379 / (299)) + (1.060398757016495 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11391216993000411 = (70.94499337131285 - 62.86349523071684) / 70.94499337131285 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 6, Options: NonBacktracking)

```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 98.01562501428783 < 103.76290334686655.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 6/7/2022 9:37:06 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 14.173716401345498 (T) = (0 -98.60136027663047) / Math.Sqrt((190.49355680095113 / (299)) + (4.22877826493616 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10974632054445761 = (110.7564759933738 - 98.60136027663047) / 110.7564759933738 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 13, Options: Compiled)

```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 39.902219709920075 < 74.43773553334269.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.588016824508908 (T) = (0 -40.16200351065719) / Math.Sqrt((301.44684326182204 / (299)) + (0.3062775969965016 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1032264372894419 = (44.784999447647465 - 40.16200351065719) / 44.784999447647465 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 3, Options: Compiled)

```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 98.45823196759719 < 130.6010037578803.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.258285385013158 (T) = (0 -99.5059751658279) / Math.Sqrt((250.4115351028542 / (299)) + (2.4907792880931887 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06456711235862327 = (106.37425354663839 - 99.5059751658279) / 106.37425354663839 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 8, Options: NonBacktracking)

```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 93.63626494277453 < 101.34419043783468.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 6/7/2022 9:37:06 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 13.443754483510494 (T) = (0 -94.37996323189587) / Math.Sqrt((104.99594447086449 / (299)) + (3.3808754012971485 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0854068728734917 = (103.19338778372544 - 94.37996323189587) / 103.19338778372544 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 11, Options: Compiled)

```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 35.87780204421338 < 56.302732833751755.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.700876717537818 (T) = (0 -36.08267216484301) / Math.Sqrt((117.37462493246005 / (299)) + (0.27474974738265845 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07603170555300855 = (39.05185100148812 - 36.08267216484301) / 39.05185100148812 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 7, Options: NonBacktracking)

```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 88.96997721635515 < 98.110111754494.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 6/7/2022 9:37:06 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 14.799359345651256 (T) = (0 -89.82634395076737) / Math.Sqrt((82.02426926787298 / (299)) + (1.3849379464856235 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08359278635282028 = (98.02011879988414 - 89.82634395076737) / 98.02011879988414 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 9, Options: NonBacktracking)

```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.01650764991429 < 105.25642887258611.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 6/7/2022 9:37:06 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 15.326833986778684 (T) = (0 -97.38073041418514) / Math.Sqrt((205.6812336506612 / (299)) + (2.9869163132001413 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12047059358636307 = (110.71912968920975 - 97.38073041418514) / 110.71912968920975 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 5, Options: Compiled)

```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 86.52125079547605 < 112.06060136033538.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.8215892571308405 (T) = (0 -86.46922383033835) / Math.Sqrt((193.10790543735774 / (299)) + (2.3710100561422194 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06195846159793667 = (92.18059146680977 - 86.46922383033835) / 92.18059146680977 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 12, Options: Compiled)

```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 39.896314092713105 < 76.19629772103208.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.406763882137353 (T) = (0 -40.307022602838934) / Math.Sqrt((309.4556064311877 / (299)) + (0.8039908670856031 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10090154293618987 = (44.830488014037705 - 40.307022602838934) / 44.830488014037705 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 12, Options: NonBacktracking)

```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 146.02549783339873 < 174.76583709668847.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.9860070058577595 (T) = (0 -154.11161637164136) / Math.Sqrt((216.9151522698843 / (299)) + (89.94459672675391 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06120431519399545 = (164.15884613219907 - 154.11161637164136) / 164.15884613219907 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 1, Options: NonBacktracking)

```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 666.8420222693725 < 803.1486451943093.
IsChangePoint: Marked as a change because one of 6/7/2022 9:37:06 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/7/2022 10:54:04 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 17.496005033554983 (T) = (0 -679.81145039816) / Math.Sqrt((3302.1685574192024 / (299)) + (467.2121595731801 / (30))) is greater than 1.9672451058622664 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (30) - 2, .975) and 0.11721692845984089 = (770.0775788689717 - 679.81145039816) / 770.0775788689717 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 6, Options: Compiled)

```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 35.74774457768108 < 57.53152362792942.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.475857075809067 (T) = (0 -35.93283220825663) / Math.Sqrt((126.709717599431 / (299)) + (0.3953914746471428 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07575358309354224 = (38.877978373481064 - 35.93283220825663) / 38.877978373481064 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 10, Options: Compiled)

```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 36.92391718292085 < 73.3495722458332.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.3645758532866505 (T) = (0 -37.19002018274123) / Math.Sqrt((340.5302950637522 / (299)) + (0.21101519852360034 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11151690945546645 = (41.857881797106806 - 37.19002018274123) / 41.857881797106806 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 4, Options: Compiled)

```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 84.76077295951144 < 110.79351144702146.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.440250866102699 (T) = (0 -85.09809101125643) / Math.Sqrt((195.17022760932923 / (299)) + (2.719132398334467 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06018333010507092 = (90.547543725491 - 85.09809101125643) / 90.547543725491 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.ReadOnlySpan

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
StringAsSpan - Duration of single invocation 6.24 ns 0.23 ns 0.04 0.08 False
IndexOfString - Duration of single invocation 78.59 ns 15.89 ns 0.20 0.02 False
IndexOfString - Duration of single invocation 19.62 ns 8.61 ns 0.44 0.05 False
Trim - Duration of single invocation 19.43 ns 1.77 ns 0.09 0.06 False
IndexOfString - Duration of single invocation 126.08 ns 22.23 ns 0.18 0.01 False
IndexOfString - Duration of single invocation 115.98 ns 17.71 ns 0.15 0.02 False
IndexOfString - Duration of single invocation 61.77 ns 17.49 ns 0.28 0.06 False
IndexOfString - Duration of single invocation 590.61 ns 149.49 ns 0.25 0.02 False
Trim - Duration of single invocation 62.34 ns 4.62 ns 0.07 0.04 False
Trim - Duration of single invocation 40.83 ns 2.74 ns 0.07 0.01 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.ReadOnlySpan*'

Payloads

Baseline
Compare

Histogram

System.Memory.ReadOnlySpan.StringAsSpan


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 0.23038666774076746 < 2.962272573946808.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.5616973682283777 (T) = (0 -0.21659577277121736) / Math.Sqrt((1.9314570557606656 / (299)) + (0.0038110517768126214 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.4890321545677198 = (0.4238931563061013 - 0.21659577277121736) / 0.4238931563061013 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAA5AAAA", value: "5", comparisonType: InvariantCulture)

```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 15.887780049409047 < 43.55218227733991.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.111979189885009 (T) = (0 -15.907599981754032) / Math.Sqrt((187.03112326126393 / (299)) + (0.007811967744153789 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1697596554518633 = (19.16023484791243 - 15.907599981754032) / 19.16023484791243 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.IndexOfString(input: "Hello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello Worldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylong!xyz", value: "w", comparisonType: OrdinalIgnoreCase)

```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 8.606809950796064 < 13.191281612079667.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.192377091197158 (T) = (0 -8.554114576705217) / Math.Sqrt((5.833379545325927 / (299)) + (0.00042394672145945297 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07817599316811209 = (9.27955283579984 - 8.554114576705217) / 9.27955283579984 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.Trim(input: "")

```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 1.7746644313876845 < 10.002794697873695.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.145156158457823 (T) = (0 -1.7787060475608516) / Math.Sqrt((15.469589758342165 / (299)) + (0.0006345108113815908 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.346471217176418 = (2.7216950413047187 - 1.7787060475608516) / 2.7216950413047187 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.IndexOfString(input: "foobardzsdzs", value: "rddzs", comparisonType: InvariantCulture)

```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 22.230688236684696 < 70.44584755958758.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.104035613982698 (T) = (0 -22.228810964716505) / Math.Sqrt((559.1953650750312 / (299)) + (0.00010911295712735771 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.20158938968879286 = (27.841327103671738 - 22.228810964716505) / 27.841327103671738 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.IndexOfString(input: "string1", value: "string2", comparisonType: InvariantCulture)

```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 17.710170661500243 < 63.367451467327996.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8993013609649854 (T) = (0 -17.679289485569075) / Math.Sqrt((520.784711957505 / (299)) + (0.006167225072772871 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.22546311304787892 = (22.825626233424234 - 17.679289485569075) / 22.825626233424234 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.IndexOfString(input: "ABCDE", value: "c", comparisonType: InvariantCultureIgnoreCase)

```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 17.49167383316621 < 36.946274645964614.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.788197401416851 (T) = (0 -17.49831835768364) / Math.Sqrt((85.21160226291272 / (299)) + (0.009005913804419417 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12750109622752565 = (20.055404404550128 - 17.49831835768364) / 20.055404404550128 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", value: "x", comparisonType: InvariantCultureIgnoreCase)

```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 149.487752959099 < 351.92165361177484.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.730738161842023 (T) = (0 -149.66647367169352) / Math.Sqrt((9730.594717065127 / (299)) + (0.0862803541835126 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.17927888163148215 = (182.35972039955564 - 149.66647367169352) / 182.35972039955564 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.Trim(input: " abcdefg ")

```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 4.624660926934888 < 31.54125223501342.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.590911959610309 (T) = (0 -4.639864517192019) / Math.Sqrt((173.40349393595545 / (299)) + (0.030926191831486847 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.37096703444747264 = (7.376186577306762 - 4.639864517192019) / 7.376186577306762 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.Trim(input: "abcdefg")

```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 2.742632468513223 < 20.702444570697626.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.120676745481925 (T) = (0 -2.7446412849549375) / Math.Sqrt((73.74367861294182 / (299)) + (5.360677092309884E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.42713386596162134 = (4.791069190295446 - 2.7446412849549375) / 4.791069190295446 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_Char

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetUnicodeCategory - Duration of single invocation 10.35 ns 0.22 ns 0.02 0.62 False
Char_IsLower - Duration of single invocation 283.81 ns 26.41 ns 0.09 0.01 False
Char_IsUpper - Duration of single invocation 283.95 ns 23.15 ns 0.08 0.04 False
GetUnicodeCategory - Duration of single invocation 10.35 ns 0.22 ns 0.02 0.61 False
GetUnicodeCategory - Duration of single invocation 33.81 ns 3.26 ns 0.10 0.05 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Char*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Char.GetUnicodeCategory(c: '.')


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 0.21698152929423487 < 4.914346615183141.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.078340103837285 (T) = (0 -0.2017093963049418) / Math.Sqrt((5.387224441813581 / (299)) + (0.003118348266992007 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.6724131141201464 = (0.6157431966886522 - 0.2017093963049418) / 0.6157431966886522 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Char.Char_IsLower(input: "Good afternoon, Constable!")

```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 26.41088561876444 < 147.51108910844505.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.138304733077523 (T) = (0 -26.496407745106776) / Math.Sqrt((3363.3164899852545 / (299)) + (0.017223419593254123 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3437593940810068 = (40.376056443507416 - 26.496407745106776) / 40.376056443507416 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Char.Char_IsUpper(input: "Good afternoon, Constable!")

```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 23.153575796713486 < 145.6778144754705.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.085711556361791 (T) = (0 -22.917463092959537) / Math.Sqrt((3463.866018291701 / (299)) + (0.12883283735464707 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3776756888748478 = (36.825595084860396 - 22.917463092959537) / 36.825595084860396 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Char.GetUnicodeCategory(c: 'a')

```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 0.21655383865897246 < 4.913609350752697.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.074863307276984 (T) = (0 -0.20161251026929586) / Math.Sqrt((5.384648099250063 / (299)) + (0.0031143605267328536 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.6722169489131473 = (0.6150791189501575 - 0.20161251026929586) / 0.6150791189501575 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Char.GetUnicodeCategory(c: 'א')

```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 3.2577380704199155 < 17.30577229344215.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.2347576537161835 (T) = (0 -3.2495476052928) / Math.Sqrt((47.63118678840102 / (299)) + (0.00012405966272323267 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.34216556521452796 = (4.939765134600346 - 3.2495476052928) / 4.939765134600346 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Buffers.Tests.ReadOnlySequenceTests<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
FirstSpanMemory - Duration of single invocation 22.06 ns 4.44 ns 0.20 0.03 False
IterateTryGetTenSegments - Duration of single invocation 42.89 ns 34.28 ns 0.80 0.01 False
FirstSpanTenSegments - Duration of single invocation 16.92 ns 3.75 ns 0.22 0.02 False
SliceTenSegments - Duration of single invocation 18.60 ns 16.00 ns 0.86 0.03 False
FirstSpanArray - Duration of single invocation 22.26 ns 3.76 ns 0.17 0.01 False
FirstSpanSingleSegment - Duration of single invocation 17.09 ns 4.12 ns 0.24 0.02 False

graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;*'

Payloads

Baseline
Compare

Histogram

System.Buffers.Tests.ReadOnlySequenceTests<Byte>.FirstSpanMemory


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.439868396025817 < 12.62831396836006.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.846183197111988 (T) = (0 -4.448604597471549) / Math.Sqrt((15.76715187730048 / (299)) + (0.001566375999520034 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2001573571557127 = (5.5618497429094935 - 4.448604597471549) / 5.5618497429094935 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;.IterateTryGetTenSegments

```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 34.27617597327426 < 40.8375816059415.
IsChangePoint: Marked as a change because one of 6/14/2022 6:55:13 PM, 7/6/2022 12:32:56 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.96668201754035 (T) = (0 -34.11823851495196) / Math.Sqrt((29.416433980902532 / (299)) + (0.1440596303302387 / (40))) is greater than 1.9670282846691574 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (40) - 2, .975) and 0.07743028149702137 = (36.981745477528165 - 34.11823851495196) / 36.981745477528165 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;.FirstSpanTenSegments

```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 3.7530783785331043 < 10.092056024244775.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.6963360037857536 (T) = (0 -3.6935827497054734) / Math.Sqrt((9.4359102462171 / (299)) + (0.008194277073401788 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.18470883622820716 = (4.530384865963468 - 3.6935827497054734) / 4.530384865963468 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;.SliceTenSegments

```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 15.997605384799302 < 17.64414209809278.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 6/14/2022 6:55:13 PM, 7/6/2022 12:32:56 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 18.793985385333368 (T) = (0 -15.869893138441412) / Math.Sqrt((1.3178498645883416 / (299)) + (0.09377052158412566 / (40))) is greater than 1.9670282846691574 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (40) - 2, .975) and 0.08867990463774203 = (17.414181053620887 - 15.869893138441412) / 17.414181053620887 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;.FirstSpanArray

```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 3.7643629140855133 < 12.013447173436756.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.810978140216431 (T) = (0 -3.7774900438146095) / Math.Sqrt((15.972700788554656 / (299)) + (6.893502805208507E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.22742200733656417 = (4.889461102550752 - 3.7774900438146095) / 4.889461102550752 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;.FirstSpanSingleSegment

```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 4.12476669110917 < 10.349653494173825.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.5796040308796915 (T) = (0 -4.112567145995452) / Math.Sqrt((9.218369130691297 / (299)) + (0.01200996427788413 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1330900937521679 = (4.74393834509921 - 4.112567145995452) / 4.74393834509921 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<SimpleStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DataContractSerializer_ - Duration of single invocation 2.46 μs 1.89 μs 0.77 0.04 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;SimpleStructWithProperties&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_FromStream<SimpleStructWithProperties>.DataContractSerializer_


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.8946436454610518 < 2.0770085039998953.
IsChangePoint: Marked as a change because one of 5/20/2022 10:46:48 AM, 5/27/2022 11:47:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 10.57400476262279 (T) = (0 -1894.2016641408686) / Math.Sqrt((21493.637689345982 / (299)) + (739.7095195366097 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05005204051183583 = (1994.0057191779981 - 1894.2016641408686) / 1994.0057191779981 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DataContractSerializer_ - Duration of single invocation 1.98 ms 1.33 ms 0.67 0.02 False
XmlSerializer_ - Duration of single invocation 1.21 ms 552.42 μs 0.46 0.01 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;MyEventsListerViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_FromStream<MyEventsListerViewModel>.DataContractSerializer_


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.333971355990783 < 1.5907555395741408.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.807825088692606 (T) = (0 -1344647.725813204) / Math.Sqrt((20319578181.29867 / (299)) + (225964393.70829374 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05307281867961849 = (1420011.7520528312 - 1344647.725813204) / 1420011.7520528312 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### MicroBenchmarks.Serializers.Xml_FromStream&lt;MyEventsListerViewModel&gt;.XmlSerializer_

```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 552.4222736451374 < 841.0104505050106.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.615036544847212 (T) = (0 -553250.1175879899) / Math.Sqrt((21315746164.066505 / (299)) + (8203381.404973565 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06587967512621289 = (592268.5791712559 - 553250.1175879899) / 592268.5791712559 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Common

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReplaceWords - Duration of single invocation 4.93 μs 2.23 μs 0.45 0.01 False
Uri_IsNotMatch - Duration of single invocation 253.97 ns 76.33 ns 0.30 0.16 False
MatchesSet - Duration of single invocation 172.51 μs 39.08 μs 0.23 0.02 False
Uri_IsMatch - Duration of single invocation 171.06 ns 72.05 ns 0.42 0.15 False
Uri_IsMatch - Duration of single invocation 171.37 ns 72.32 ns 0.42 0.17 False
SplitWords - Duration of single invocation 5.41 μs 2.55 μs 0.47 0.03 False
IP_IsMatch - Duration of single invocation 338.73 ns 99.36 ns 0.29 0.03 False
Email_IsMatch - Duration of single invocation 162.70 ns 105.36 ns 0.65 0.05 False
MatchesBoundary - Duration of single invocation 151.39 μs 40.59 μs 0.27 0.01 False
Email_IsMatch - Duration of single invocation 154.70 ns 94.13 ns 0.61 0.05 False
Date_IsNotMatch - Duration of single invocation 414.73 ns 91.33 ns 0.22 0.01 False
ReplaceWords - Duration of single invocation 5.85 μs 2.55 μs 0.44 0.01 False
Date_IsMatch - Duration of single invocation 209.42 ns 58.64 ns 0.28 0.02 False
Date_IsMatch - Duration of single invocation 213.15 ns 58.55 ns 0.27 0.01 False
OneNodeBacktracking - Duration of single invocation 193.74 ns 67.92 ns 0.35 0.05 False
MatchWord - Duration of single invocation 274.95 ns 120.09 ns 0.44 0.11 False
MatchesSet - Duration of single invocation 172.09 μs 39.90 μs 0.23 0.01 False
Date_IsNotMatch - Duration of single invocation 495.68 ns 92.55 ns 0.19 0.03 False
Uri_IsNotMatch - Duration of single invocation 253.70 ns 76.78 ns 0.30 0.14 False
OneNodeBacktracking - Duration of single invocation 194.06 ns 63.74 ns 0.33 0.13 False
IP_IsNotMatch - Duration of single invocation 334.89 ns 99.48 ns 0.30 0.04 False
IP_IsMatch - Duration of single invocation 335.19 ns 100.11 ns 0.30 0.02 False
MatchesBoundary - Duration of single invocation 151.14 μs 39.98 μs 0.26 0.02 False
IP_IsNotMatch - Duration of single invocation 339.54 ns 99.63 ns 0.29 0.03 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Common*'

Payloads

Baseline
Compare

Histogram

System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options: Compiled)


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.225533490006172 < 3.375046636702117.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.977781672857241 (T) = (0 -2235.577316352384) / Math.Sqrt((358764.174818817 / (299)) + (367.6205019285214 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0582502028805188 = (2373.854842539194 - 2235.577316352384) / 2373.854842539194 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options: IgnoreCase, Compiled)

```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 76.3325533357246 < 157.29407794269744.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.989212521567325 (T) = (0 -77.95706915843537) / Math.Sqrt((1595.5752117472603 / (299)) + (8.748882673458755 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10749554186579999 = (87.34641989509646 - 77.95706915843537) / 87.34641989509646 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options: IgnoreCase, Compiled)

```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 39.08210607142857 < 100.5302455400639.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.40497309169971 (T) = (0 -39187.036660559934) / Math.Sqrt((899471907.3777897 / (299)) + (201443.3232234409 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.16326241573872274 = (46833.125937753386 - 39187.036660559934) / 46833.125937753386 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options: Compiled)

```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 72.0488662769225 < 118.1676715464816.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.001680597702523 (T) = (0 -72.537235247575) / Math.Sqrt((504.8133424125192 / (299)) + (0.6771287230557651 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06717784162550153 = (77.76105509111802 - 72.537235247575) / 77.76105509111802 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options: IgnoreCase, Compiled)

```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 72.31524071675578 < 122.14382085258025.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.767434674865682 (T) = (0 -72.18991837061941) / Math.Sqrt((502.3018861988832 / (299)) + (4.99424142673342 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08130941845371457 = (78.57914277200233 - 72.18991837061941) / 78.57914277200233 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options: IgnoreCase, Compiled)

```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 2.546233210210453 < 3.7437112842380587.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.001730123370682 (T) = (0 -2505.951063157754) / Math.Sqrt((470113.82332131785 / (299)) + (2284.9797265142324 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.060486944211296544 = (2667.2871097614025 - 2505.951063157754) / 2667.2871097614025 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsMatch(Options: IgnoreCase, Compiled)

```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 99.3591252489413 < 205.94713886990618.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.891885763635696 (T) = (0 -99.59079384555831) / Math.Sqrt((2867.3877348035016 / (299)) + (0.5437945637320888 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.108016809292424 = (111.65097603078905 - 99.59079384555831) / 111.65097603078905 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options: IgnoreCase, Compiled)

```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 105.358565375717 < 127.15678610153482.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.514283524090038 (T) = (0 -104.4707917271554) / Math.Sqrt((159.77753739960946 / (299)) + (3.267998073295255 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05320428704887756 = (110.34142877720087 - 104.4707917271554) / 110.34142877720087 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesBoundary(Options: IgnoreCase, Compiled)

```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 40.5932812937063 < 91.37749061431104.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.011680675602988 (T) = (0 -40500.995763278675) / Math.Sqrt((635695323.0251656 / (299)) + (44944.53403674653 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12622767489847603 = (46351.886641148594 - 40500.995763278675) / 46351.886641148594 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options: Compiled)

```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 94.12612379461926 < 117.43283655559205.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.741361171145148 (T) = (0 -92.76666662198711) / Math.Sqrt((195.79221642031084 / (299)) + (4.010422667805473 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05081039333508074 = (97.73249303469817 - 92.76666662198711) / 97.73249303469817 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options: IgnoreCase, Compiled)

```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 91.32709363592042 < 240.59139728699176.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.246772273798545 (T) = (0 -92.08562799236248) / Math.Sqrt((5344.125804043692 / (299)) + (0.7274047479998791 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.16322415233363544 = (110.04814282005715 - 92.08562799236248) / 110.04814282005715 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options: IgnoreCase, Compiled)

```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 2.552326888873079 < 3.9851761358096067.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.970254342885019 (T) = (0 -2556.6624972826235) / Math.Sqrt((556973.7266635393 / (299)) + (393.87615772951204 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06295799821241377 = (2728.4395922544586 - 2556.6624972826235) / 2728.4395922544586 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options: Compiled)

```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 58.63841793580993 < 127.20533637238869.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.114056785604356 (T) = (0 -58.87888933174245) / Math.Sqrt((1159.4778162016821 / (299)) + (0.31740109891472756 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12105456180747133 = (66.98810503280104 - 58.87888933174245) / 66.98810503280104 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options: IgnoreCase, Compiled)

```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 58.55281828868882 < 127.04503503110507.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.298513736957449 (T) = (0 -58.583783294321364) / Math.Sqrt((1159.0423086954897 / (299)) + (0.12567458368542303 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12626890300868618 = (67.05012960629897 - 58.583783294321364) / 67.05012960629897 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options: Compiled)

```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 67.92274277674989 < 124.32089031867032.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.102757900713366 (T) = (0 -68.32716106675198) / Math.Sqrt((822.6733491192008 / (299)) + (0.5629390605814798 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09077433681055344 = (75.14873791295012 - 68.32716106675198) / 75.14873791295012 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchWord(Options: IgnoreCase, Compiled)

```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 120.08769685322189 < 188.6182713434572.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.57727547476843 (T) = (0 -121.75280052258795) / Math.Sqrt((1162.8308743454907 / (299)) + (5.072866109365127 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06998873504234225 = (130.91540404957482 - 121.75280052258795) / 130.91540404957482 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options: Compiled)

```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 39.89648470437018 < 100.69863103152642.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8201358991225476 (T) = (0 -40040.5089315077) / Math.Sqrt((899415637.4318001 / (299)) + (241286.83284308962 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14209189620001114 = (46672.25866518061 - 40040.5089315077) / 46672.25866518061 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options: Compiled)

```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 92.54530833129014 < 240.9568878860867.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.978519536631229 (T) = (0 -92.98834150021702) / Math.Sqrt((5538.973847772408 / (299)) + (0.732476805132953 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1555728557668612 = (110.1200288684038 - 92.98834150021702) / 110.1200288684038 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options: Compiled)

```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 76.78155346600803 < 157.5418576563667.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.7833046996832587 (T) = (0 -78.24688995897488) / Math.Sqrt((1589.3824309937472 / (299)) + (13.411460883564091 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10289778543781498 = (87.22182231727284 - 78.24688995897488) / 87.22182231727284 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options: IgnoreCase, Compiled)

```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 63.739244739781284 < 121.360786042497.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8129798061379976 (T) = (0 -62.902382440985846) / Math.Sqrt((900.5938502737274 / (299)) + (10.736422574806191 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09867376170233619 = (69.78869555577309 - 62.902382440985846) / 69.78869555577309 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options: IgnoreCase, Compiled)

```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 99.48300443616371 < 207.34175529934564.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8743292699318364 (T) = (0 -99.81295679044088) / Math.Sqrt((2875.060054978716 / (299)) + (2.3845360415890275 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10770915722868367 = (111.86146041848573 - 99.81295679044088) / 111.86146041848573 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsMatch(Options: Compiled)

```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 100.10799994224611 < 206.50788582648522.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.853011741259214 (T) = (0 -99.77277328036902) / Math.Sqrt((2878.5636429768006 / (299)) + (0.3757563059540079 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1070451782920589 = (111.7332824179561 - 99.77277328036902) / 111.7332824179561 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesBoundary(Options: Compiled)

```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 39.98160834931798 < 90.82722584846162.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.3378910523345295 (T) = (0 -40146.09154700958) / Math.Sqrt((650769158.709934 / (299)) + (181211.27088283774 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1376064527326649 = (46551.938699240534 - 40146.09154700958) / 46551.938699240534 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options: Compiled)

```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 99.63086213264364 < 208.37785652665406.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.778111438530802 (T) = (0 -99.86886409198914) / Math.Sqrt((2996.8505896922607 / (299)) + (1.0606366446051279 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10707549273577698 = (111.84468930970577 - 99.86886409198914) / 111.84468930970577 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeObjectProperty - Duration of single invocation 15.83 μs 7.46 μs 0.47 0.02 False
SerializeToStream - Duration of single invocation 14.84 μs 7.29 μs 0.49 0.08 False
SerializeToUtf8Bytes - Duration of single invocation 14.98 μs 6.75 μs 0.45 0.01 False
SerializeToString - Duration of single invocation 15.44 μs 7.15 μs 0.46 0.02 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Dictionary&lt;String, String&gt;&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeObjectProperty


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 7.457831898536635 < 10.95504243534752.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.458326164121249 (T) = (0 -7419.777216972536) / Math.Sqrt((3379748.4103502445 / (299)) + (2742.2909343828046 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0727283741509191 = (8001.730032641104 - 7419.777216972536) / 8001.730032641104 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;Dictionary&lt;String, String&gt;&gt;.SerializeToStream

```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 7.2909137056351465 < 10.46774249641769.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.731381169355923 (T) = (0 -7216.631015875558) / Math.Sqrt((3081094.2843103535 / (299)) + (10026.593361944675 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07538124167820229 = (7804.980107665016 - 7216.631015875558) / 7804.980107665016 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;Dictionary&lt;String, String&gt;&gt;.SerializeToUtf8Bytes

```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 6.752387309467584 < 10.16974287680464.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.765708751425345 (T) = (0 -6689.544050809658) / Math.Sqrt((3137536.6657489124 / (299)) + (2229.631160539081 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09408755414047201 = (7384.316311564338 - 6689.544050809658) / 7384.316311564338 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;Dictionary&lt;String, String&gt;&gt;.SerializeToString

```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 7.151818897114655 < 10.793576254020696.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.448763262475448 (T) = (0 -7254.5452329424525) / Math.Sqrt((3290231.615048862 / (299)) + (4759.3573351854975 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.073374140087084 = (7828.990692774571 - 7254.5452329424525) / 7828.990692774571 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Encodings.Web.Tests.Perf_Encoders

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
EncodeUtf8 - Duration of single invocation 33.08 ns 11.73 ns 0.35 0.07 False
EncodeUtf8 - Duration of single invocation 102.94 ns 32.91 ns 0.32 0.14 False
EncodeUtf8 - Duration of single invocation 33.11 ns 12.03 ns 0.36 0.17 False
EncodeUtf16 - Duration of single invocation 37.11 ns 12.30 ns 0.33 0.16 False
EncodeUtf16 - Duration of single invocation 145.72 ns 76.28 ns 0.52 0.09 False
EncodeUtf8 - Duration of single invocation 105.27 ns 58.00 ns 0.55 0.02 False
EncodeUtf16 - Duration of single invocation 109.77 ns 57.60 ns 0.52 0.11 False
EncodeUtf8 - Duration of single invocation 79.04 ns 28.84 ns 0.36 0.02 False
EncodeUtf8 - Duration of single invocation 95.24 ns 40.97 ns 0.43 0.03 False
EncodeUtf16 - Duration of single invocation 82.12 ns 27.31 ns 0.33 0.10 False
EncodeUtf8 - Duration of single invocation 94.44 ns 51.10 ns 0.54 0.01 False
EncodeUtf16 - Duration of single invocation 102.85 ns 42.33 ns 0.41 0.08 False
EncodeUtf16 - Duration of single invocation 133.26 ns 71.34 ns 0.54 0.15 False
EncodeUtf16 - Duration of single invocation 74.42 ns 47.14 ns 0.63 0.31 False
EncodeUtf8 - Duration of single invocation 65.33 ns 21.11 ns 0.32 0.08 False
EncodeUtf16 - Duration of single invocation 36.46 ns 12.16 ns 0.33 0.16 False
EncodeUtf16 - Duration of single invocation 115.44 ns 61.57 ns 0.53 0.13 False
EncodeUtf16 - Duration of single invocation 92.23 ns 37.48 ns 0.41 0.07 False
EncodeUtf16 - Duration of single invocation 69.04 ns 22.13 ns 0.32 0.16 False
EncodeUtf8 - Duration of single invocation 129.18 ns 62.73 ns 0.49 0.02 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Encodings.Web.Tests.Perf_Encoders*'

Payloads

Baseline
Compare

Histogram

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,no <escaping /> required,16)


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 11.727143826569842 < 21.370478773226722.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8387057756896747 (T) = (0 -11.516344638123295) / Math.Sqrt((24.36294701391051 / (299)) + (0.014243555956180673 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08704243968838683 = (12.61432638138459 - 11.516344638123295) / 12.61432638138459 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,�2020,16)

```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 32.91130006212131 < 64.6064169942466.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.588002951894595 (T) = (0 -33.096903355526614) / Math.Sqrt((225.99325735996354 / (299)) + (2.1414701995399152 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1706630420377012 = (39.907667248842394 - 33.096903355526614) / 39.907667248842394 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,no escaping required,16)

```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 12.025003184550656 < 21.20145251859043.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.769862870710323 (T) = (0 -11.699512935234516) / Math.Sqrt((24.717841430408544 / (299)) + (0.23482099377617588 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08730583182184164 = (12.818656394603767 - 11.699512935234516) / 12.818656394603767 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,no &lt;escaping /&gt; required,16)

```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 12.298077203772705 < 23.39428416651392.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.4076348615815264 (T) = (0 -12.681265425367313) / Math.Sqrt((33.427120417659765 / (299)) + (0.6409566363231475 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06330234677879244 = (13.53826966658637 - 12.681265425367313) / 13.53826966658637 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,&lorem ipsum=dolor sit amet,512)

```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 76.27814783278748 < 105.89494114570567.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.845912521033174 (T) = (0 -77.9395547324003) / Math.Sqrt((206.48192616296484 / (299)) + (6.113002772002847 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06406132820917297 = (83.27421131479757 - 77.9395547324003) / 83.27421131479757 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,&Hello+&lt;World&gt;!,512)

```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 58.00432697379508 < 77.85009206218734.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.939847137892952 (T) = (0 -57.99975759031456) / Math.Sqrt((119.47540462310386 / (299)) + (0.15342340305006275 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.051303685663393314 = (61.13627376203306 - 57.99975759031456) / 61.13627376203306 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,hello "there",512)

```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 57.60060505801306 < 81.4904965920414.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.684216448611849 (T) = (0 -57.01673778839068) / Math.Sqrt((150.1427142963592 / (299)) + (4.5018849682434015 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06014950921690346 = (60.66575306130184 - 57.01673778839068) / 60.66575306130184 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,&Hello+&lt;World&gt;!,16)

```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 28.8446324280583 < 50.47271438851377.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.139041483960102 (T) = (0 -29.066793548664062) / Math.Sqrt((123.41028464006094 / (299)) + (0.06585795802396488 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08395805698285307 = (31.730854433288734 - 29.066793548664062) / 31.730854433288734 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,&lorem ipsum=dolor sit amet,16)

```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 40.971235050348334 < 64.64417954942633.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.06476029246161 (T) = (0 -40.89464628526488) / Math.Sqrt((164.24395359589604 / (299)) + (0.1906173555534106 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06887046881321955 = (43.91939565394538 - 40.89464628526488) / 43.91939565394538 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,�2020,16)

```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 27.30926841477903 < 51.51354546716735.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.676796062390644 (T) = (0 -27.08214096716744) / Math.Sqrt((153.14498299475562 / (299)) + (0.5931763000010294 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08963712547783678 = (29.748731769606135 - 27.08214096716744) / 29.748731769606135 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,hello "there",512)

```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 51.10124763305894 < 69.23832746421856.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.526674716579584 (T) = (0 -50.22942902880825) / Math.Sqrt((101.62425360028857 / (299)) + (0.5162546113983654 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05074632035102834 = (52.914652959136056 - 50.22942902880825) / 52.914652959136056 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,&lorem ipsum=dolor sit amet,16)

```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 42.32935430851109 < 68.98500596980506.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.023163493961208 (T) = (0 -42.47420000722864) / Math.Sqrt((190.7458347257628 / (299)) + (0.2960299860469944 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07068513540064686 = (45.70485378552526 - 42.47420000722864) / 45.70485378552526 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,&Hello+&lt;World&gt;!,512)

```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 71.33607043989484 < 99.39957749526111.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.07304374587243 (T) = (0 -73.58940494151213) / Math.Sqrt((184.8636573638738 / (299)) + (7.683771929429136 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05797433860828469 = (78.11825936120864 - 73.58940494151213) / 78.11825936120864 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,no &lt;escaping /&gt; required,512)

```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 47.141201672128005 < 56.20846944726679.
IsChangePoint: Marked as a change because one of 5/31/2022 6:06:22 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.38234220701244 (T) = (0 -45.97046579139519) / Math.Sqrt((38.87612637904548 / (299)) + (3.4968926720163966 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06875049779257636 = (49.36428495524272 - 45.97046579139519) / 49.36428495524272 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,hello "there",16)

```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 21.110251255327768 < 41.35697442612886.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.972804272923018 (T) = (0 -21.482764647750322) / Math.Sqrt((101.09340604996517 / (299)) + (0.4025389063168471 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09829427778543251 = (23.824585026464256 - 21.482764647750322) / 23.824585026464256 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,no escaping required,16)

```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 12.155350739380218 < 23.046690407456083.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.475422586175647 (T) = (0 -12.521593961510689) / Math.Sqrt((30.870490970574657 / (299)) + (0.6038038771876028 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0634110672517291 = (13.36935930341187 - 12.521593961510689) / 13.36935930341187 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,�2020,512)

```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 61.57223616576924 < 83.58802265881891.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.203821875490425 (T) = (0 -62.48899035012624) / Math.Sqrt((151.52467238010698 / (299)) + (1.9498032063826116 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06870055131299081 = (67.09870862505741 - 62.48899035012624) / 67.09870862505741 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,&Hello+&lt;World&gt;!,16)

```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 37.48209070781058 < 62.73774680354013.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.0720037413326295 (T) = (0 -38.02533648462611) / Math.Sqrt((154.81147767176384 / (299)) + (1.8326109066448673 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.057028223607884315 = (40.324999577520806 - 38.02533648462611) / 40.324999577520806 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,hello "there",16)

```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 22.13487724986265 < 43.33002832113909.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.2121289164726106 (T) = (0 -22.646383367993106) / Math.Sqrt((115.18899587028785 / (299)) + (1.025294442924767 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0831746481270258 = (24.70086949682294 - 22.646383367993106) / 24.70086949682294 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,�2020,512)

```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 62.73241652714428 < 90.97439948566347.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.597070393114972 (T) = (0 -62.87497984193333) / Math.Sqrt((204.39026513251054 / (299)) + (0.38843013868916093 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10216758823244645 = (70.0297505613013 - 62.87497984193333) / 70.0297505613013 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Document.Tests.Perf_EnumerateArray

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Parse - Duration of single invocation 23.97 μs 8.18 μs 0.34 0.01 False
Parse - Duration of single invocation 23.98 μs 9.91 μs 0.41 0.01 False
EnumerateArray - Duration of single invocation 5.01 μs 476.81 ns 0.10 0.04 False
EnumerateArray - Duration of single invocation 5.55 μs 1.16 μs 0.21 0.09 False
Parse - Duration of single invocation 2.26 ms 742.82 μs 0.33 0.01 False
EnumerateArray - Duration of single invocation 5.01 μs 476.00 ns 0.10 0.04 False
EnumerateUsingIndexer - Duration of single invocation 6.34 μs 851.51 ns 0.13 0.03 False
EnumerateUsingIndexer - Duration of single invocation 6.35 μs 818.83 ns 0.13 0.04 False
EnumerateUsingIndexer - Duration of single invocation 761.92 μs 128.89 μs 0.17 0.01 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
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.Parse(TestCase: ArrayOfStrings)


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 8.176975555170994 < 15.198080749048835.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.2097496886064087 (T) = (0 -8248.729605593278) / Math.Sqrt((12731869.426609464 / (299)) + (5562.445623478538 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07443230299091207 = (8912.075942417301 - 8248.729605593278) / 8912.075942417301 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateArray.Parse(TestCase: ArrayOfNumbers)

```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 9.906303677519013 < 16.033251801830463.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.5168213450292978 (T) = (0 -9917.954279576696) / Math.Sqrt((10272080.488218518 / (299)) + (2577.8079205004915 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06172092680772201 = (10570.367135902483 - 9917.954279576696) / 10570.367135902483 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateArray(TestCase: ArrayOfStrings)

```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 476.80888469463065 < 2.61366857448947.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 9.11775243428282 (T) = (0 -478.5070458751512) / Math.Sqrt((1003511.3109742203 / (299)) + (44.686774482898514 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5247281253336334 = (1006.8069906536247 - 478.5070458751512) / 1006.8069906536247 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateArray(TestCase: Json400KB)

```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 1.1557330168580957 < 3.1728163810141776.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.38739796058489 (T) = (0 -1132.6200107133598) / Math.Sqrt((888315.0111377749 / (299)) + (691.5093074958769 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.28811836974868354 = (1591.0229490168324 - 1132.6200107133598) / 1591.0229490168324 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateArray.Parse(TestCase: Json400KB)

```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 742.8197981150793 < 1.42495530355017.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.097390719713268 (T) = (0 -736839.2153502897) / Math.Sqrt((118191193219.46361 / (299)) + (20405822.28553308 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09960584294424069 = (818351.8402204147 - 736839.2153502897) / 818351.8402204147 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateArray(TestCase: ArrayOfNumbers)

```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 475.9957294471828 < 2.6131791854043507.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 9.137551300484546 (T) = (0 -478.0935339417478) / Math.Sqrt((998342.7290364387 / (299)) + (13.960396289782588 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5248143054618734 = (1006.1193748823763 - 478.0935339417478) / 1006.1193748823763 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateUsingIndexer(TestCase: ArrayOfNumbers)

```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 851.5136383111203 < 3.4116570248037257.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 9.880366092155546 (T) = (0 -833.1407822710123) / Math.Sqrt((1343091.4980797076 / (299)) + (1350.3126218320454 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.44370241389628795 = (1497.6530603095007 - 833.1407822710123) / 1497.6530603095007 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateUsingIndexer(TestCase: ArrayOfStrings)

```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 818.8307696422941 < 3.357981345355981.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 9.79492549750969 (T) = (0 -833.2827826374396) / Math.Sqrt((1363874.2745338604 / (299)) + (1012.9681210937181 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.443187691611489 = (1496.5236401635427 - 833.2827826374396) / 1496.5236401635427 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateUsingIndexer(TestCase: Json400KB)

```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 128.8871150834309 < 421.94614430511353.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.226954632542307 (T) = (0 -127984.6951105168) / Math.Sqrt((20423100453.07535 / (299)) + (677143.3675191475 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2144471414173461 = (162923.0849486503 - 127984.6951105168) / 162923.0849486503 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in Microsoft.Extensions.Logging.FormattingOverhead

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TwoArguments_DefineMessage - Duration of single invocation 203.47 ns 129.38 ns 0.64 0.04 False
FourArguments_DefineMessage - Duration of single invocation 359.62 ns 214.72 ns 0.60 0.02 False
TwoArguments - Duration of single invocation 229.54 ns 152.67 ns 0.67 0.04 False

graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Microsoft.Extensions.Logging.FormattingOverhead*'

Payloads

Baseline
Compare

Histogram

Microsoft.Extensions.Logging.FormattingOverhead.TwoArguments_DefineMessage


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 129.37942503220953 < 163.1802913867522.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 10.14829137291414 (T) = (0 -131.85519304523484) / Math.Sqrt((246.11578943493 / (299)) + (9.660302453857659 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07302949535777309 = (142.2431376024479 - 131.85519304523484) / 142.2431376024479 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Logging.FormattingOverhead.FourArguments_DefineMessage

```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 214.72284349227618 < 274.59011923519864.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 14.420722336429726 (T) = (0 -215.11263804376213) / Math.Sqrt((724.859179367462 / (299)) + (10.114225385508883 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09855112653474336 = (238.6298817112593 - 215.11263804376213) / 238.6298817112593 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Logging.FormattingOverhead.TwoArguments

```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 152.66511671575122 < 183.75894605650737.
IsChangePoint: Marked as a change because one of 6/6/2022 10:51:35 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 16.69131149681507 (T) = (0 -152.74640527418305) / Math.Sqrt((215.33161549753902 / (299)) + (10.05110596036652 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09643499830882665 = (169.04860744749138 - 152.74640527418305) / 169.04860744749138 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToUtf8Bytes - Duration of single invocation 490.11 μs 292.12 μs 0.60 0.01 False
SerializeObjectProperty - Duration of single invocation 516.60 μs 317.17 μs 0.61 0.02 False
SerializeToString - Duration of single invocation 511.04 μs 317.52 μs 0.62 0.02 False
SerializeToStream - Duration of single invocation 477.26 μs 286.01 μs 0.60 0.01 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;MyEventsListerViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToUtf8Bytes


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 292.1178328373016 < 369.493783185073.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.56238753167268 (T) = (0 -290512.7467050422) / Math.Sqrt((1964129252.9239895 / (299)) + (22269857.771145143 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05672359380010256 = (307982.62820482044 - 290512.7467050422) / 307982.62820482044 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;MyEventsListerViewModel&gt;.SerializeObjectProperty

```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 317.17229425 < 398.41102517867427.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.7284269066663605 (T) = (0 -318578.24599182187) / Math.Sqrt((1907026332.4255936 / (299)) + (29870128.581661202 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.053180947002352236 = (336472.1537691884 - 318578.24599182187) / 336472.1537691884 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;MyEventsListerViewModel&gt;.SerializeToString

```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 317.52469974489793 < 398.9213204697734.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.732392861381971 (T) = (0 -317150.2401950835) / Math.Sqrt((1918141027.4764752 / (299)) + (29568932.513459183 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.053545160636988894 = (335092.84014917596 - 317150.2401950835) / 335092.84014917596 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;MyEventsListerViewModel&gt;.SerializeToStream

```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 286.00776276223775 < 364.85356822567184.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.4732135682783625 (T) = (0 -285975.9641398051) / Math.Sqrt((1928342171.5362902 / (299)) + (16597895.200499836 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06395209906116851 = (305514.24115473015 - 285975.9641398051) / 305514.24115473015 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<CollectionsOfPrimitives>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
XmlSerializer_ - Duration of single invocation 596.61 μs 266.03 μs 0.45 0.05 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;CollectionsOfPrimitives&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_ToStream<CollectionsOfPrimitives>.XmlSerializer_


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 266.02790693099274 < 406.3479631634004.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.172227950344098 (T) = (0 -264352.3718315059) / Math.Sqrt((5337100426.049093 / (299)) + (12871914.249231094 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06300168203566847 = (282126.8371172988 - 264352.3718315059) / 282126.8371172988 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_DateTimeOffset

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToString - Duration of single invocation 225.92 ns 150.82 ns 0.67 0.02 False
ToString - Duration of single invocation 418.26 ns 273.96 ns 0.65 0.02 False
ToString - Duration of single invocation 220.32 ns 154.42 ns 0.70 0.03 False

graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_DateTimeOffset*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_DateTimeOffset.ToString(format: "G")


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 150.81900491198738 < 185.75085684498967.
IsChangePoint: Marked as a change because one of 6/1/2022 9:42:28 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 11.631920862773033 (T) = (0 -152.7014255213094) / Math.Sqrt((247.2561365994554 / (299)) + (2.968565846417436 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06725440223742864 = (163.71176222927537 - 152.7014255213094) / 163.71176222927537 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_DateTimeOffset.ToString(value: 12/30/2017 3:45:22 AM -08:00)

```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 273.9591050314242 < 330.6607289651218.
IsChangePoint: Marked as a change because one of 6/1/2022 6:40:18 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.7314704325302515 (T) = (0 -274.85021793538317) / Math.Sqrt((1082.9509173150323 / (299)) + (2.9306417114383656 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05126577462061303 = (289.70201620530133 - 274.85021793538317) / 289.70201620530133 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_DateTimeOffset.ToString(format: "s")

```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 154.4239689986637 < 187.099140091446.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 14.234839893659094 (T) = (0 -154.2428735962321) / Math.Sqrt((176.0741362303611 / (299)) + (5.594443164693908 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07257463579339032 = (166.3129773555236 - 154.2428735962321) / 166.3129773555236 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Strings

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteStringsUtf8 - Duration of single invocation 82.34 ms 46.75 ms 0.57 0.04 False
WriteStringsUtf16 - Duration of single invocation 24.07 ms 9.65 ms 0.40 0.03 False
WriteStringsUtf16 - Duration of single invocation 9.34 ms 5.27 ms 0.56 0.02 False
WriteStringsUtf8 - Duration of single invocation 19.68 ms 7.62 ms 0.39 0.01 False
WriteStringsUtf16 - Duration of single invocation 22.61 ms 9.17 ms 0.41 0.02 False
WriteStringsUtf16 - Duration of single invocation 9.11 ms 5.09 ms 0.56 0.01 False
WriteStringsUtf16 - Duration of single invocation 93.20 ms 49.83 ms 0.53 0.08 False
WriteStringsUtf16 - Duration of single invocation 10.60 ms 5.52 ms 0.52 0.02 False
WriteStringsUtf16 - Duration of single invocation 23.48 ms 9.35 ms 0.40 0.01 False
WriteStringsUtf16 - Duration of single invocation 24.97 ms 9.53 ms 0.38 0.03 False
WriteStringsUtf8 - Duration of single invocation 18.75 ms 7.18 ms 0.38 0.01 False
WriteStringsUtf16 - Duration of single invocation 11.37 ms 5.36 ms 0.47 0.03 False
WriteStringsUtf8 - Duration of single invocation 79.03 ms 47.17 ms 0.60 0.06 False
WriteStringsUtf8 - Duration of single invocation 18.60 ms 7.19 ms 0.39 0.01 False
WriteStringsUtf16 - Duration of single invocation 94.75 ms 50.09 ms 0.53 0.08 False
WriteStringsUtf8 - Duration of single invocation 19.42 ms 7.62 ms 0.39 0.02 False
WriteStringsUtf8 - Duration of single invocation 78.93 ms 46.89 ms 0.59 0.03 False
WriteStringsUtf16 - Duration of single invocation 94.78 ms 50.09 ms 0.53 0.15 False
WriteStringsUtf8 - Duration of single invocation 80.56 ms 47.20 ms 0.59 0.05 False
WriteStringsUtf16 - Duration of single invocation 91.85 ms 48.93 ms 0.53 0.09 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
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_Strings*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: AllEscaped)


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 46.75139823333333 < 62.8882083927381.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 13.81328339419364 (T) = (0 -47161941.633309916) / Math.Sqrt((44519960605035.84 / (299)) + (1966593229001.702 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11442863641687978 = (53255947.033435516 - 47161941.633309916) / 53255947.033435516 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: False, Escaped: OneEscaped)

```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 9.654751754666666 < 15.92652722160714.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.685158563322397 (T) = (0 -9571802.303549448) / Math.Sqrt((10714217792255.775 / (299)) + (9412432089.526546 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08503579145954297 = (10461395.335691113 - 9571802.303549448) / 10461395.335691113 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: NoneEscaped)

```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 5.274266324822695 < 6.9220761594676805.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.736088888293086 (T) = (0 -5281512.928442693) / Math.Sqrt((824104690946.9119 / (299)) + (1071607534.0347782 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06302157276069913 = (5636749.763816936 - 5281512.928442693) / 5636749.763816936 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: OneEscaped)

```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 7.6242234956709956 < 13.09184158968502.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.444501976972907 (T) = (0 -7550211.871182433) / Math.Sqrt((7708505537028.264 / (299)) + (5599402113.958863 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0865545902680363 = (8265641.045147871 - 7550211.871182433) / 8265641.045147871 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, Escaped: OneEscaped)

```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 9.174599372839507 < 15.12371060807341.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.661015870832902 (T) = (0 -9157454.397383634) / Math.Sqrt((9203324718205.473 / (299)) + (3366130923.302659 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08207334524110159 = (9976237.589253709 - 9157454.397383634) / 9976237.589253709 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, Escaped: NoneEscaped)

```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 5.09402285 < 6.744512018206019.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.877682241143965 (T) = (0 -5068162.397721106) / Math.Sqrt((838893906714.863 / (299)) + (1414946102.197883 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.058192574257530355 = (5381314.968636654 - 5068162.397721106) / 5381314.968636654 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, Escaped: AllEscaped)

```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 49.83031201923077 < 68.37107642214285.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.688787394029489 (T) = (0 -49228548.21228598) / Math.Sqrt((89675218615527.11 / (299)) + (346823684709.1532 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07976338139765983 = (53495532.79791728 - 49228548.21228598) / 53495532.79791728 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: False, Escaped: NoneEscaped)

```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 5.517588040909091 < 7.684468368746706.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.131201324572698 (T) = (0 -5567541.629217628) / Math.Sqrt((1368401253954.374 / (299)) + (1673833269.9280457 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06960788004661271 = (5984080.808311836 - 5567541.629217628) / 5984080.808311836 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: OneEscaped)

```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 9.351001289743591 < 15.329852597260604.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.526827008492242 (T) = (0 -9299648.646956801) / Math.Sqrt((9275612798058.928 / (299)) + (3277656334.079455 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07905505354306494 = (10097941.99179274 - 9299648.646956801) / 10097941.99179274 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: True, Escaped: OneEscaped)

```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 9.525841874358974 < 15.994286575128571.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.957546406703119 (T) = (0 -9497435.109675458) / Math.Sqrt((10816570677541.818 / (299)) + (10980612096.08108 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09060452530770322 = (10443679.756476698 - 9497435.109675458) / 10443679.756476698 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: OneEscaped)

```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 7.18268688235294 < 12.33904099.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.56408740354034 (T) = (0 -7212962.148338335) / Math.Sqrt((6767381025953.118 / (299)) + (3236605931.066384 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08705259623025233 = (7900742.275573083 - 7212962.148338335) / 7900742.275573083 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: True, Escaped: NoneEscaped)

```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 5.357383457971015 < 7.6193590647929605.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.69539480656691 (T) = (0 -5344065.396511441) / Math.Sqrt((1481306828185.2068 / (299)) + (895864235.5237218 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06991537853079353 = (5745784.064324919 - 5344065.396511441) / 5745784.064324919 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: AllEscaped)

```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 47.17059594642858 < 61.97866784095238.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 14.431217385030667 (T) = (0 -47105782.39655913) / Math.Sqrt((42236276256705.88 / (299)) + (901513496709.8044 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10983857920816777 = (52918247.5181375 - 47105782.39655913) / 52918247.5181375 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: OneEscaped)

```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 7.193296714285714 < 12.306132763809526.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.259844901891683 (T) = (0 -7138266.122938436) / Math.Sqrt((7073741416839.627 / (299)) + (2045712174.2101781 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0841493803072941 = (7794138.006188748 - 7138266.122938436) / 7794138.006188748 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: True, Escaped: AllEscaped)

```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 50.086121553571424 < 69.55883550906593.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.62799476993112 (T) = (0 -50222819.20618132) / Math.Sqrt((92814877887482.45 / (299)) + (105859016509.27907 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07830426606394615 = (54489586.266942315 - 50222819.20618132) / 54489586.266942315 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: OneEscaped)

```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 7.6158398929292925 < 12.827662637380952.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.519099222106461 (T) = (0 -7485287.850609892) / Math.Sqrt((7931403485661.61 / (299)) + (4319168585.961136 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08968037346948944 = (8222702.919345453 - 7485287.850609892) / 8222702.919345453 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: AllEscaped)

```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 46.89224136666667 < 61.79672354916666.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 14.598722299506244 (T) = (0 -46907066.84287952) / Math.Sqrt((41606704598225.49 / (299)) + (1148678910628.6294 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1124934517512491 = (52852643.09929618 - 46907066.84287952) / 52852643.09929618 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: False, Escaped: AllEscaped)

```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 50.089855766666666 < 71.59355200906249.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.612377951591169 (T) = (0 -49731493.22523) / Math.Sqrt((100383551618087.62 / (299)) + (188470405923.9961 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08195319769135342 = (54170978.10282478 - 49731493.22523) / 54170978.10282478 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: AllEscaped)

```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 47.200050166666664 < 62.646333930000004.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 14.950005822041671 (T) = (0 -47334428.745934494) / Math.Sqrt((46501118269676.29 / (299)) + (112540003983.14587 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11158368815878629 = (53279558.37262312 - 47334428.745934494) / 53279558.37262312 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: AllEscaped)

```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 48.93290066666666 < 68.6293443427381.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.9625247552044875 (T) = (0 -49663994.38561631) / Math.Sqrt((91486185905081.42 / (299)) + (339821201005.70355 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07282280070886038 = (53564727.889756374 - 49663994.38561631) / 53564727.889756374 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.Constructors_ValueTypesOnly<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadOnlyFromPointerLength - Duration of single invocation 3.19 ns 0.00 ns 0.00 0.12 False
SpanFromPointerLength - Duration of single invocation 3.19 ns 0.00 ns 0.00 0.14 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Constructors_ValueTypesOnly&lt;Byte&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Constructors_ValueTypesOnly<Byte>.ReadOnlyFromPointerLength


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 0 < 1.5213673443407172.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.301147943616255 (T) = (0 -0.0009329004458938976) / Math.Sqrt((0.5325773614154292 / (299)) + (1.1880510073672047E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9948874749828771 = (0.18247352194256453 - 0.0009329004458938976) / 0.18247352194256453 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors_ValueTypesOnly&lt;Byte&gt;.SpanFromPointerLength

```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 0 < 1.5229230939637197.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.320191462106455 (T) = (0 -0.0009287357033287799) / Math.Sqrt((0.550965778742183 / (299)) + (1.1776931505575423E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9950173451131541 = (0.1863937447846537 - 0.0009287357033287799) / 0.1863937447846537 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in Microsoft.Extensions.Logging.Formatting

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TwoArguments - Duration of single invocation 205.01 ns 134.60 ns 0.66 0.05 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Microsoft.Extensions.Logging.Formatting*'

Payloads

Baseline
Compare

Histogram

Microsoft.Extensions.Logging.Formatting.TwoArguments


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 134.5998433453298 < 162.94383737324648.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 10.835802637851186 (T) = (0 -131.97274593041686) / Math.Sqrt((250.45675847340058 / (299)) + (5.0427959075897295 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0742750305611275 = (142.5615061570739 - 131.97274593041686) / 142.5615061570739 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<IndexViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
XmlSerializer_ - Duration of single invocation 107.97 μs 27.63 μs 0.26 0.02 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;IndexViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_ToStream<IndexViewModel>.XmlSerializer_


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 27.632457276943466 < 64.5855837892577.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.510677081084362 (T) = (0 -27308.833873447853) / Math.Sqrt((333975456.44454926 / (299)) + (65583.03273896323 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14870822938306916 = (32079.287990364515 - 27308.833873447853) / 32079.287990364515 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Collections.Tests.Perf_BitArray

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
BitArrayCopyToByteArray - Duration of single invocation 20.06 ns 7.12 ns 0.35 0.49 False
BitArraySetLengthGrow - Duration of single invocation 1.41 μs 210.45 ns 0.15 0.03 False
BitArrayByteArrayCtor - Duration of single invocation 1.30 μs 142.97 ns 0.11 0.04 False
BitArraySetAll - Duration of single invocation 6.94 ns 2.87 ns 0.41 0.04 False
BitArraySetLengthShrink - Duration of single invocation 26.57 ns 13.30 ns 0.50 0.19 False
BitArrayCopyToByteArray - Duration of single invocation 1.20 μs 94.75 ns 0.08 0.05 False
BitArraySetLengthShrink - Duration of single invocation 1.31 μs 130.70 ns 0.10 0.07 False
BitArrayLeftShift - Duration of single invocation 7.77 ns 2.91 ns 0.37 0.15 False
BitArrayRightShift - Duration of single invocation 8.44 ns 3.48 ns 0.41 0.12 False
BitArrayByteArrayCtor - Duration of single invocation 30.13 ns 11.71 ns 0.39 0.28 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.Tests.Perf_BitArray*'

Payloads

Baseline
Compare

Histogram

System.Collections.Tests.Perf_BitArray.BitArrayCopyToByteArray(Size: 4)


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 7.1171054389065596 < 13.238735244625133.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.3952480574633896 (T) = (0 -7.645030462316708) / Math.Sqrt((10.13558688202923 / (299)) + (1.0959816833081326 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07093495156978742 = (8.22873541011372 - 7.645030462316708) / 8.22873541011372 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.Tests.Perf_BitArray.BitArraySetLengthGrow(Size: 512)

```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 210.44943215292167 < 750.1777044975663.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.864116369408764 (T) = (0 -205.4865558133543) / Math.Sqrt((81373.97278277657 / (299)) + (37.84763876220706 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.23706299898305444 = (269.3362040895304 - 205.4865558133543) / 269.3362040895304 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.Tests.Perf_BitArray.BitArrayByteArrayCtor(Size: 512)

```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 142.97041082555037 < 686.9526637356439.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.5927152392003787 (T) = (0 -141.14157908366124) / Math.Sqrt((69067.03743283644 / (299)) + (21.215251918270116 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2791677108753879 = (195.80363034939148 - 141.14157908366124) / 195.80363034939148 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.Tests.Perf_BitArray.BitArraySetAll(Size: 4)

```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 2.8652663038010067 < 4.643864091964045.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.998478340853358 (T) = (0 -2.859696622995716) / Math.Sqrt((0.9268146712442469 / (299)) + (0.00011664713106704041 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0722528872774243 = (3.082409617642056 - 2.859696622995716) / 3.082409617642056 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.Tests.Perf_BitArray.BitArraySetLengthShrink(Size: 4)

```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 13.304337089946761 < 18.97363439295872.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.919511968477266 (T) = (0 -12.934742170446185) / Math.Sqrt((9.38171228887241 / (299)) + (0.1426928082542147 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06615675375532853 = (13.851084989329376 - 12.934742170446185) / 13.851084989329376 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.Tests.Perf_BitArray.BitArrayCopyToByteArray(Size: 512)

```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 94.75382422169027 < 607.7932361681462.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.798052142713357 (T) = (0 -94.61793681864306) / Math.Sqrt((63215.88579943976 / (299)) + (3.1247595626924016 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3685940186035513 = (149.8527723943656 - 94.61793681864306) / 149.8527723943656 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.Tests.Perf_BitArray.BitArraySetLengthShrink(Size: 512)

```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 130.70350200111275 < 691.3583189529817.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.193096728099624 (T) = (0 -134.44295385543123) / Math.Sqrt((69215.43270728795 / (299)) + (24.298939579151785 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.32208343552343227 = (198.31784750566936 - 134.44295385543123) / 198.31784750566936 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.Tests.Perf_BitArray.BitArrayLeftShift(Size: 4)

```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 2.9092009954558677 < 5.062940941092994.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.125601041708302 (T) = (0 -2.9775849082836587) / Math.Sqrt((1.2735282826386398 / (299)) + (0.016524665229792578 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12295177309863006 = (3.395007044029414 - 2.9775849082836587) / 3.395007044029414 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.Tests.Perf_BitArray.BitArrayRightShift(Size: 4)

```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 3.480123676271344 < 5.658064184824648.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.334287928453795 (T) = (0 -3.5059957510322857) / Math.Sqrt((1.241888656857553 / (299)) + (0.016368240996467786 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07684702448648179 = (3.797849158295808 - 3.5059957510322857) / 3.797849158295808 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.Tests.Perf_BitArray.BitArrayByteArrayCtor(Size: 4)

```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 11.708786629526637 < 16.901878140329607.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.3486924684126067 (T) = (0 -11.173109004267316) / Math.Sqrt((8.940837208678351 / (299)) + (0.5959673260205817 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05899850048732642 = (11.873635706270024 - 11.173109004267316) / 11.873635706270024 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Linq.Tests.Perf_Enumerable

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SequenceEqual - Duration of single invocation 29.30 ns 13.88 ns 0.47 0.47 False
WhereSelect - Duration of single invocation 1.07 μs 989.26 ns 0.92 0.05 False
SelectToArray - Duration of single invocation 214.31 ns 193.32 ns 0.90 0.03 False
Contains_ElementNotFound - Duration of single invocation 366.59 ns 326.48 ns 0.89 0.01 False
Where - Duration of single invocation 624.03 ns 586.46 ns 0.94 0.01 False
WhereAny_LastElementMatches - Duration of single invocation 208.99 ns 185.89 ns 0.89 0.03 False
WhereFirst_LastElementMatches - Duration of single invocation 210.82 ns 188.05 ns 0.89 0.04 False
EmptyTakeSelectToArray - Duration of single invocation 15.44 ns 13.13 ns 0.85 0.04 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Linq.Tests.Perf_Enumerable*'

Payloads

Baseline
Compare

Histogram

System.Linq.Tests.Perf_Enumerable.SequenceEqual(input1: Array, input2: Array)


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 13.879997091263814 < 19.321980528977402.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.0512063321751453 (T) = (0 -14.690197951104881) / Math.Sqrt((12.69297552396317 / (299)) + (2.3278554699959066 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.060637046288489815 = (15.63846848873755 - 14.690197951104881) / 15.63846848873755 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Linq.Tests.Perf_Enumerable.WhereSelect(input: IEnumerable)

```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 989.2555183531747 < 1.0174323720660947.
IsChangePoint: Marked as a change because one of 5/11/2022 11:37:12 AM, 5/20/2022 10:18:01 PM, 5/25/2022 1:42:32 AM, 5/31/2022 6:06:22 PM, 6/6/2022 10:12:27 PM, 7/6/2022 7:05:00 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 16.24771991235295 (T) = (0 -994.3787136811152) / Math.Sqrt((1129.8729020057024 / (299)) + (273.03400812848287 / (39))) is greater than 1.9670493839589689 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (39) - 2, .975) and 0.05091539255709603 = (1047.7239920266393 - 994.3787136811152) / 1047.7239920266393 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Linq.Tests.Perf_Enumerable.SelectToArray(input: Range)

```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 193.32170543118346 < 203.48005836715964.
IsChangePoint: Marked as a change because one of 5/11/2022 9:09:01 PM, 5/20/2022 10:18:01 PM, 5/25/2022 1:42:32 AM, 5/31/2022 6:06:22 PM, 6/6/2022 10:12:27 PM, 6/20/2022 2:50:37 PM, 6/23/2022 8:35:19 AM, 7/6/2022 7:05:00 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 18.35964468671187 (T) = (0 -194.0783289178106) / Math.Sqrt((93.71251357697581 / (299)) + (11.740784540483078 / (39))) is greater than 1.9670493839589689 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (39) - 2, .975) and 0.06903500251334185 = (208.47006003637853 - 194.0783289178106) / 208.47006003637853 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Linq.Tests.Perf_Enumerable.Contains_ElementNotFound(input: IEnumerable)

```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 326.47941275848086 < 348.51023306438583.
IsChangePoint: Marked as a change because one of 7/6/2022 7:05:00 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 53.32720499959972 (T) = (0 -327.11413613899884) / Math.Sqrt((16.32541318886075 / (299)) + (15.411909605542201 / (39))) is greater than 1.9670493839589689 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (39) - 2, .975) and 0.09855680145528213 = (362.8782564082674 - 327.11413613899884) / 362.8782564082674 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Linq.Tests.Perf_Enumerable.Where(input: List)

```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 586.4626322316159 < 592.4486669534427.
IsChangePoint: Marked as a change because one of 6/2/2022 5:58:32 PM, 6/6/2022 10:51:35 AM, 7/6/2022 7:05:00 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 34.13057742926411 (T) = (0 -588.0143719123753) / Math.Sqrt((58.73731856231978 / (299)) + (43.33890007764062 / (39))) is greater than 1.9670493839589689 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (39) - 2, .975) and 0.062244278122649245 = (627.044291166993 - 588.0143719123753) / 627.044291166993 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input: Array)

```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 185.88578129344802 < 198.84457445937397.
IsChangePoint: Marked as a change because one of 5/20/2022 10:18:01 PM, 5/25/2022 1:42:32 AM, 5/31/2022 6:06:22 PM, 6/6/2022 10:12:27 PM, 6/20/2022 2:50:37 PM, 6/23/2022 8:35:19 AM, 7/6/2022 7:05:00 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 17.770039913505343 (T) = (0 -186.7881077387147) / Math.Sqrt((106.85550991230541 / (299)) + (14.679655166825512 / (39))) is greater than 1.9670493839589689 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (39) - 2, .975) and 0.07535249519214496 = (202.0100706133738 - 186.7881077387147) / 202.0100706133738 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input: Array)

```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 188.05435121416028 < 199.90065908552006.
IsChangePoint: Marked as a change because one of 5/9/2022 11:56:12 AM, 5/20/2022 10:18:01 PM, 5/25/2022 1:42:32 AM, 5/31/2022 6:06:22 PM, 6/6/2022 10:12:27 PM, 6/20/2022 2:50:37 PM, 6/23/2022 8:35:19 AM, 7/6/2022 7:05:00 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 14.108024646251923 (T) = (0 -190.07865939324452) / Math.Sqrt((102.44898035040845 / (299)) + (24.447346478999986 / (39))) is greater than 1.9670493839589689 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (39) - 2, .975) and 0.06810402740798069 = (203.9698260145398 - 190.07865939324452) / 203.9698260145398 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Linq.Tests.Perf_Enumerable.EmptyTakeSelectToArray

```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 13.131725381837805 < 14.67351002730176.
IsChangePoint: Marked as a change because one of 5/9/2022 11:56:12 AM, 5/20/2022 10:18:01 PM, 5/25/2022 1:42:32 AM, 6/6/2022 10:12:27 PM, 6/20/2022 2:50:37 PM, 6/23/2022 8:35:19 AM, 7/6/2022 7:05:00 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 14.03730817141874 (T) = (0 -13.47839195300624) / Math.Sqrt((1.0393837027135775 / (299)) + (0.19210602638029792 / (39))) is greater than 1.9670493839589689 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (39) - 2, .975) and 0.08714432087785262 = (14.765085282667911 - 13.47839195300624) / 14.765085282667911 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.Constructors_ValueTypesOnly<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SpanFromPointerLength - Duration of single invocation 3.19 ns 0.00 ns 0.00 0.16 False
ReadOnlyFromPointerLength - Duration of single invocation 3.41 ns 0.00 ns 0.00 0.17 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Constructors_ValueTypesOnly&lt;Int32&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Constructors_ValueTypesOnly<Int32>.SpanFromPointerLength


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 0 < 1.521575022773177.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.2998788272983415 (T) = (0 -0.0009128024170037652) / Math.Sqrt((0.5414564726856939 / (299)) + (1.1374141709880328E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9950365721779455 = (0.183905649427963 - 0.0009128024170037652) / 0.183905649427963 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors_ValueTypesOnly&lt;Int32&gt;.ReadOnlyFromPointerLength

```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 0 < 1.5218887891457105.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.302232765977725 (T) = (0 -0.0009574718465774098) / Math.Sqrt((0.5327529267998464 / (299)) + (1.2517393379964844E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9947557214271207 = (0.1825745587827737 - 0.0009574718465774098) / 0.1825745587827737 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Reader

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 11.33 μs 5.87 μs 0.52 0.05 False
ReadSpanEmptyLoop - Duration of single invocation 1.00 μs 508.48 ns 0.51 0.04 False
ReadReturnBytes - Duration of single invocation 6.06 μs 3.02 μs 0.50 0.02 False
ReadSpanEmptyLoop - Duration of single invocation 7.65 μs 3.75 μs 0.49 0.04 False
ReadReturnBytes - Duration of single invocation 1.22 μs 622.15 ns 0.51 0.10 False
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 5.14 μs 2.60 μs 0.51 0.01 False
ReadReturnBytes - Duration of single invocation 13.83 μs 7.02 μs 0.51 0.03 False
ReadSpanEmptyLoop - Duration of single invocation 11.49 μs 5.85 μs 0.51 0.05 False
ReadSpanEmptyLoop - Duration of single invocation 2.08 μs 904.74 ns 0.43 0.01 False
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 7.63 μs 3.75 μs 0.49 0.04 False
ReadSpanEmptyLoop - Duration of single invocation 5.14 μs 2.58 μs 0.50 0.01 False
ReadReturnBytes - Duration of single invocation 2.61 μs 1.09 μs 0.42 0.09 False
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 2.07 μs 919.53 ns 0.44 0.01 False
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 1.01 μs 518.17 ns 0.51 0.02 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
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_Reader*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: BroadTree)


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 5.866405199756738 < 8.270266685176892.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.470321118470397 (T) = (0 -5959.684371122519) / Math.Sqrt((1463199.0796515406 / (299)) + (8531.717149284916 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.050806217698594336 = (6278.680373013747 - 5959.684371122519) / 6278.680373013747 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json400B)

```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 508.48373471189007 < 718.492353193533.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.37426529633754 (T) = (0 -513.6914464075834) / Math.Sqrt((12097.074477712014 / (299)) + (98.03466547833902 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05273316470337229 = (542.2880093197032 - 513.6914464075834) / 542.2880093197032 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: DeepTree)

```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 3.023602039007092 < 4.359697887594283.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.106173085784352 (T) = (0 -3070.266596710233) / Math.Sqrt((454017.55986210704 / (299)) + (1414.4783995095186 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05004041906263846 = (3231.9970852661786 - 3070.266596710233) / 3231.9970852661786 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json4KB)

```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 3.7458310211716017 < 5.520855056993125.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.7623774079580325 (T) = (0 -3804.368280951387) / Math.Sqrt((743054.8642345358 / (299)) + (5944.492029406464 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06025350980326194 = (4048.292087959737 - 3804.368280951387) / 4048.292087959737 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json400B)

```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 622.1450397142971 < 871.7379948442893.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.150844470029072 (T) = (0 -607.8619252269627) / Math.Sqrt((19984.20129268556 / (299)) + (149.11742800784083 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05415558130685176 = (642.6658689457953 - 607.8619252269627) / 642.6658689457953 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: DeepTree)

```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 2.599606700880984 < 3.650749221031756.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.693602415548258 (T) = (0 -2615.422899450074) / Math.Sqrt((335807.78737680323 / (299)) + (502.6686561100389 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.057007367735901184 = (2773.5348187933528 - 2615.422899450074) / 2773.5348187933528 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: BroadTree)

```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 7.023746656881225 < 9.840349624632058.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.557167913410539 (T) = (0 -7014.269176394349) / Math.Sqrt((2229590.7171408576 / (299)) + (23200.4273486283 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05490770179042042 = (7421.782179034217 - 7014.269176394349) / 7421.782179034217 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: BroadTree)

```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 5.847949565387016 < 8.236781246347645.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.7152778668109585 (T) = (0 -5904.328034679217) / Math.Sqrt((1506246.2685176642 / (299)) + (10311.270449742662 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.054834643209467 = (6246.873091845378 - 5904.328034679217) / 6246.873091845378 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: LotsOfStrings)

```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 904.7383349172522 < 1.3986998628834215.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.141788496367206 (T) = (0 -896.2536550139189) / Math.Sqrt((68959.04669389524 / (299)) + (43.10319977292999 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06571127030960212 = (959.2898068147703 - 896.2536550139189) / 959.2898068147703 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json4KB)

```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 3.7505137800480775 < 5.514955516938287.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.086926956068929 (T) = (0 -3834.4214898616037) / Math.Sqrt((746811.7592301705 / (299)) + (5443.719195826535 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.051774407051705884 = (4043.7861183849013 - 3834.4214898616037) / 4043.7861183849013 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: DeepTree)

```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 2.5849676533272636 < 3.6781179229620835.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.470033107195082 (T) = (0 -2604.7442011104013) / Math.Sqrt((317135.69376774644 / (299)) + (686.8415111861144 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05330738679336127 = (2751.414941633069 - 2604.7442011104013) / 2751.414941633069 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: LotsOfStrings)

```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 1.0859640777460273 < 1.7340916217566151.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.233670298089959 (T) = (0 -1075.637559079499) / Math.Sqrt((120979.22751876697 / (299)) + (53.93716441830534 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07346882041123028 = (1160.9296943000973 - 1075.637559079499) / 1160.9296943000973 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfStrings)

```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 919.5258758648398 < 1.4109709374724018.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.0295015843577175 (T) = (0 -910.7902871143814) / Math.Sqrt((68822.33719403693 / (299)) + (95.02882415345941 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06318184411522691 = (972.2167331974797 - 910.7902871143814) / 972.2167331974797 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json400B)

```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 518.1666453338329 < 731.1599366153911.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.611538550514863 (T) = (0 -526.4518720525681) / Math.Sqrt((11822.551545683998 / (299)) + (83.82418541161547 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.053409613646390804 = (556.1559462699912 - 526.4518720525681) / 556.1559462699912 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Net.Primitives.Tests.IPAddressPerformanceTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryWriteBytes - Duration of single invocation 10.13 ns 1.90 ns 0.19 0.07 False
Ctor_Bytes - Duration of single invocation 12.23 ns 5.47 ns 0.45 0.19 False
GetAddressBytes - Duration of single invocation 31.05 ns 12.75 ns 0.41 0.06 False
GetAddressBytes - Duration of single invocation 13.68 ns 4.69 ns 0.34 0.16 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Net.Primitives.Tests.IPAddressPerformanceTests*'

Payloads

Baseline
Compare

Histogram

System.Net.Primitives.Tests.IPAddressPerformanceTests.TryWriteBytes(address: 143.24.20.36)


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.9013240391160309 < 5.806750074941324.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.1340890086241724 (T) = (0 -1.9018001861691207) / Math.Sqrt((3.5523633906645222 / (299)) + (0.002635226091356507 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1526061601860198 = (2.2442931454240966 - 1.9018001861691207) / 2.2442931454240966 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Net.Primitives.Tests.IPAddressPerformanceTests.Ctor_Bytes(address: [143, 24, 20, 36])

```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 5.468632678068966 < 8.706175584927253.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.7028911057498783 (T) = (0 -5.3862198657285685) / Math.Sqrt((2.4741077938158185 / (299)) + (0.1673524924469892 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07048497944138575 = (5.794656080427394 - 5.3862198657285685) / 5.794656080427394 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Net.Primitives.Tests.IPAddressPerformanceTests.GetAddressBytes(address: 1020:3040:5060:7080:9010:1112:1314:1516)

```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 12.749570456724513 < 21.173514605991343.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.170257236984991 (T) = (0 -12.79903004542171) / Math.Sqrt((16.880432821755722 / (299)) + (0.011902382352469288 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0720183888053143 = (13.79233154086341 - 12.79903004542171) / 13.79233154086341 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Net.Primitives.Tests.IPAddressPerformanceTests.GetAddressBytes(address: 143.24.20.36)

```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 4.687287982104742 < 8.630971940700999.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.079046578843238 (T) = (0 -4.597889894806935) / Math.Sqrt((5.151364673915047 / (299)) + (0.03210525422870627 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1062992128222092 = (5.1447754782969 - 4.597889894806935) / 5.1447754782969 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Buffers.Binary.Tests.BinaryReadAndWriteTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadStructAndReverseLE - Duration of single invocation 17.23 ns 1.15 ns 0.07 0.71 False
ReadStructFieldByFieldBE - Duration of single invocation 210.14 ns 8.74 ns 0.04 0.08 False
ReadStructAndReverseBE - Duration of single invocation 23.84 ns 9.46 ns 0.40 0.38 False
ReadStructFieldByFieldLE - Duration of single invocation 213.54 ns 7.30 ns 0.03 0.09 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Buffers.Binary.Tests.BinaryReadAndWriteTests*'

Payloads

Baseline
Compare

Histogram

System.Buffers.Binary.Tests.BinaryReadAndWriteTests.ReadStructAndReverseLE


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.1518463609912464 < 8.548807274548555.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.815661611842588 (T) = (0 -1.2380513171890086) / Math.Sqrt((13.309296510041255 / (299)) + (0.023464945252675024 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.4522551217791756 = (2.26027000236027 - 1.2380513171890086) / 2.26027000236027 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Binary.Tests.BinaryReadAndWriteTests.ReadStructFieldByFieldBE

```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 8.743147638294253 < 103.91949917423169.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.03884350118385 (T) = (0 -8.739018653980393) / Math.Sqrt((2161.7046189009848 / (299)) + (2.2964543775444355 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5550125818201668 = (19.63879942881595 - 8.739018653980393) / 19.63879942881595 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Binary.Tests.BinaryReadAndWriteTests.ReadStructAndReverseBE

```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 9.455869268024575 < 16.133882796283757.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.0967373171089205 (T) = (0 -9.992688146002099) / Math.Sqrt((12.620979887856551 / (299)) + (0.10019480237429491 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07963342058940977 = (10.857291398392032 - 9.992688146002099) / 10.857291398392032 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Binary.Tests.BinaryReadAndWriteTests.ReadStructFieldByFieldLE

```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 7.297939956079761 < 100.14106866981834.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.035280770706963 (T) = (0 -7.584186287950332) / Math.Sqrt((2073.6828241081994 / (299)) + (2.7502707589539113 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5846567105661471 = (18.26004291122219 - 7.584186287950332) / 18.26004291122219 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Numerics.Tests.Constructor

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConstructorBenchmark_UInt64 - Duration of single invocation 15.19 ns 0.45 ns 0.03 0.11 False
ConstructorBenchmark_Int64 - Duration of single invocation 15.32 ns 0.45 ns 0.03 0.10 False
SpanCastBenchmark_Int64 - Duration of single invocation 12.53 ns 0.46 ns 0.04 0.07 False
SpanCastBenchmark_Single - Duration of single invocation 12.37 ns 0.47 ns 0.04 0.11 False
SpanCastBenchmark_UInt32 - Duration of single invocation 12.53 ns 0.68 ns 0.05 0.01 False
ConstructorBenchmark_Int16 - Duration of single invocation 16.30 ns 0.45 ns 0.03 0.13 False
SpanCastBenchmark_Int16 - Duration of single invocation 12.54 ns 0.46 ns 0.04 0.08 False
ConstructorBenchmark_Double - Duration of single invocation 15.86 ns 0.45 ns 0.03 0.10 False
SpanCastBenchmark_SByte - Duration of single invocation 13.38 ns 0.46 ns 0.03 0.09 False
SpanCastBenchmark_Double - Duration of single invocation 13.62 ns 0.48 ns 0.03 0.10 False
SpanCastBenchmark_UInt16 - Duration of single invocation 13.64 ns 0.46 ns 0.03 0.05 False
SpanCastBenchmark_Int32 - Duration of single invocation 12.52 ns 0.47 ns 0.04 0.11 False
ConstructorBenchmark_Int32 - Duration of single invocation 15.28 ns 0.26 ns 0.02 0.12 False
SpanCastBenchmark_Byte - Duration of single invocation 13.44 ns 0.37 ns 0.03 0.09 False
ConstructorBenchmark_Single - Duration of single invocation 14.91 ns 0.45 ns 0.03 0.12 False
ConstructorBenchmark_UInt32 - Duration of single invocation 15.06 ns 0.26 ns 0.02 0.10 False
ConstructorBenchmark_SByte - Duration of single invocation 16.27 ns 0.26 ns 0.02 0.11 False
ConstructorBenchmark_UInt16 - Duration of single invocation 16.18 ns 0.24 ns 0.02 0.16 False
SpanCastBenchmark_UInt64 - Duration of single invocation 12.53 ns 0.46 ns 0.04 0.05 False
ConstructorBenchmark_Byte - Duration of single invocation 16.20 ns 0.26 ns 0.02 0.13 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Numerics.Tests.Constructor*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Constructor.ConstructorBenchmark_UInt64


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 0.44720020581401104 < 7.269957519032883.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.592985698611924 (T) = (0 -0.3311896138240874) / Math.Sqrt((11.08136964091954 / (299)) + (0.010986469513638316 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.7281863970346939 = (1.2184438534754272 - 0.3311896138240874) / 1.2184438534754272 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.ConstructorBenchmark_Int64

```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 0.4479385930942616 < 7.482200820008999.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.451984796065872 (T) = (0 -0.33237754283873) / Math.Sqrt((11.208139254013718 / (299)) + (0.010279188013303908 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.7223424047474454 = (1.1970770781055087 - 0.33237754283873) / 1.1970770781055087 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.SpanCastBenchmark_Int64

```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 0.46057119624595066 < 6.135571546456728.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.0306927284206715 (T) = (0 -0.47922470677607065) / Math.Sqrt((7.3628073065711215 / (299)) + (0.009824449744698866 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.570070926915741 = (1.1146599213171855 - 0.47922470677607065) / 1.1146599213171855 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.SpanCastBenchmark_Single

```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 0.47187998192682523 < 6.098631086394364.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.288233820605571 (T) = (0 -0.470978837452539) / Math.Sqrt((7.488544301408185 / (299)) + (1.8344125290615654E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5903206326471366 = (1.149627916328228 - 0.470978837452539) / 1.149627916328228 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.SpanCastBenchmark_UInt32

```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 0.6794545049271331 < 6.189710430589149.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.0490942173671725 (T) = (0 -0.6793254031328947) / Math.Sqrt((7.0954794656375215 / (299)) + (3.69837006421614E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.47868131071060555 = (1.303090445613753 - 0.6793254031328947) / 1.303090445613753 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.ConstructorBenchmark_Int16

```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 0.447571077695294 < 7.854273637085822.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.359354802519667 (T) = (0 -0.3510075839248554) / Math.Sqrt((12.51574074221043 / (299)) + (0.015551931439001706 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.7184619002139878 = (1.246749850878601 - 0.3510075839248554) / 1.246749850878601 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.SpanCastBenchmark_Int16

```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 0.46366467583052084 < 6.082008969235554.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.158183092846611 (T) = (0 -0.4644688637933434) / Math.Sqrt((7.336074890154971 / (299)) + (8.888379754702435E-06 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5837345962464742 = (1.1157998229138428 - 0.4644688637933434) / 1.1157998229138428 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.ConstructorBenchmark_Double

```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 0.44793997836743477 < 7.7552200294105065.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.391109033931689 (T) = (0 -0.35161146297946755) / Math.Sqrt((12.54460854873728 / (299)) + (0.021893625201931315 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.7201620035832234 = (1.2564822057108895 - 0.35161146297946755) / 1.2564822057108895 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.SpanCastBenchmark_SByte

```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 0.4637125864742634 < 6.521530478401254.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.701085129196903 (T) = (0 -0.459033495367371) / Math.Sqrt((8.847597555460009 / (299)) + (0.001133370017886871 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5811642338891316 = (1.0959749202647178 - 0.459033495367371) / 1.0959749202647178 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.SpanCastBenchmark_Double

```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 0.47515367468038755 < 6.598089480677355.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.3541760145538793 (T) = (0 -0.6727151964534989) / Math.Sqrt((8.699730711492547 / (299)) + (0.7279490819640705 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.42882180493287225 = (1.1777676428534496 - 0.6727151964534989) / 1.1777676428534496 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.SpanCastBenchmark_UInt16

```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 0.46361834094427073 < 6.560367794794057.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.116913901609136 (T) = (0 -0.46431234425187656) / Math.Sqrt((8.64147588590516 / (299)) + (5.234187661133398E-06 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.6011762686401481 = (1.1642044034559604 - 0.46431234425187656) / 1.1642044034559604 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.SpanCastBenchmark_Int32

```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 0.4715453044369207 < 6.234472552899804.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.0464734691550093 (T) = (0 -0.5713256926399459) / Math.Sqrt((7.35712258949876 / (299)) + (0.3760715824816631 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.49336437384726645 = (1.127685585355402 - 0.5713256926399459) / 1.127685585355402 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.ConstructorBenchmark_Int32

```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 0.2573051983159379 < 7.377785689870422.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.1313213577783054 (T) = (0 -0.2802219225857086) / Math.Sqrt((11.630309164641293 / (299)) + (0.013982337376761902 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.7448856185685601 = (1.0984168003912238 - 0.2802219225857086) / 1.0984168003912238 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.SpanCastBenchmark_Byte

```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 0.36618135186136425 < 8.478084931058476.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.0412426625597355 (T) = (0 -0.3987465555021056) / Math.Sqrt((8.806681385345927 / (299)) + (0.04706707993804961 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.639169065848196 = (1.1050786331261448 - 0.3987465555021056) / 1.1050786331261448 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.ConstructorBenchmark_Single

```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 0.4479208313249096 < 7.301936265869205.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.480089148371748 (T) = (0 -0.33207488234022897) / Math.Sqrt((11.091314062206097 / (299)) + (0.010420119144794729 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.7227518150262069 = (1.1977531336106613 - 0.33207488234022897) / 1.1977531336106613 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.ConstructorBenchmark_UInt32

```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 0.2577258444548707 < 7.371720069072437.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.746074334476258 (T) = (0 -0.28427698601786205) / Math.Sqrt((11.41321874777523 / (299)) + (0.008711962522934786 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.7658340081614693 = (1.2139977448727286 - 0.28427698601786205) / 1.2139977448727286 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.ConstructorBenchmark_SByte

```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 0.25919026089004515 < 7.844071496619192.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.649624633631441 (T) = (0 -0.2896623435812411) / Math.Sqrt((12.626234631706657 / (299)) + (0.008350058782494873 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.7677743676043525 = (1.247331487885616 - 0.2896623435812411) / 1.247331487885616 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.ConstructorBenchmark_UInt16

```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 0.24412499818876293 < 7.808367473541367.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.1092000468684695 (T) = (0 -0.2620538729778508) / Math.Sqrt((12.947035080243904 / (299)) + (0.006430332136953381 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.765732446153419 = (1.1186093365258196 - 0.2620538729778508) / 1.1186093365258196 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.SpanCastBenchmark_UInt64

```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 0.46301967195381893 < 6.091136532382012.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.212525206806886 (T) = (0 -0.4652993406015996) / Math.Sqrt((7.350147851632791 / (299)) + (0.0004944824691379393 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5867409775812469 = (1.125926635257135 - 0.4652993406015996) / 1.125926635257135 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Constructor.ConstructorBenchmark_Byte

```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 0.25766899910449 < 7.796617693112167.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.128905654923227 (T) = (0 -0.2648402642555485) / Math.Sqrt((13.051641208132137 / (299)) + (0.0034078688484494796 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.7652682303362707 = (1.1282676590175749 - 0.2648402642555485) / 1.1282676590175749 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.WriteJson<Hashtable>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToStream - Duration of single invocation 17.78 μs 9.59 μs 0.54 0.04 False
SerializeToUtf8Bytes - Duration of single invocation 17.74 μs 9.69 μs 0.55 0.03 False
SerializeToString - Duration of single invocation 18.20 μs 10.42 μs 0.57 0.02 False
SerializeObjectProperty - Duration of single invocation 18.72 μs 10.65 μs 0.57 0.05 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Hashtable&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToStream


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 9.586878975758507 < 13.263399690871731.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.156599210884965 (T) = (0 -9779.878720356091) / Math.Sqrt((2808892.1558496472 / (299)) + (35546.45801417632 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0777614841275593 = (10604.500410725412 - 9779.878720356091) / 10604.500410725412 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;Hashtable&gt;.SerializeToUtf8Bytes

```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 9.693096902707884 < 13.280064217432415.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.398646979302807 (T) = (0 -9838.128562810483) / Math.Sqrt((2858358.305204288 / (299)) + (42063.69601027011 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08057345472392197 = (10700.287710157823 - 9838.128562810483) / 10700.287710157823 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;Hashtable&gt;.SerializeToString

```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 10.421143121408043 < 13.701332250031921.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.06569256035772 (T) = (0 -10411.345470342598) / Math.Sqrt((2835559.101561646 / (299)) + (25440.74413800795 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07215021071607372 = (11220.938551247198 - 10411.345470342598) / 11220.938551247198 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;Hashtable&gt;.SerializeObjectProperty

```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 10.652318054472813 < 14.03248121018734.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.2827612049635615 (T) = (0 -10744.989966354631) / Math.Sqrt((3034426.1260233717 / (299)) + (218380.3370410613 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.057198567441197834 = (11396.874882966908 - 10744.989966354631) / 11396.874882966908 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Collections.Sort<BigStruct>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
List - Duration of single invocation 9.24 μs 5.47 μs 0.59 0.17 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.Sort&lt;BigStruct&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.Sort<BigStruct>.List(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 5.467043973333332 < 8.066468392.
IsChangePoint: Marked as a change because one of 6/6/2022 7:24:37 AM, 6/13/2022 4:43:40 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.9769798403767815 (T) = (0 -5654.453586584887) / Math.Sqrt((2178586.6499342895 / (299)) + (1002873.9766025445 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08434172700859369 = (6175.288045082682 - 5654.453586584887) / 6175.288045082682 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Load - Duration of single invocation 171.41 μs 89.40 μs 0.52 0.01 False
Load - Duration of single invocation 222.02 μs 68.05 μs 0.31 0.01 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks*'

Payloads

Baseline
Compare

Histogram

Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks.Load(FileName: "repeated.xml")


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 89.39628775656081 < 123.36775674906914.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.392608657949343 (T) = (0 -89607.8278835972) / Math.Sqrt((312313692.04227823 / (299)) + (258524.63704471805 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.058098466856439074 = (95135.02710260429 - 89607.8278835972) / 95135.02710260429 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks.Load(FileName: "deep.xml")

```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 68.05444127934088 < 137.71155593393416.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.000630852401853 (T) = (0 -67947.47855704272) / Math.Sqrt((1209082575.5769978 / (299)) + (70725.44561946836 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1058838592867895 = (75994.0185207293 - 67947.47855704272) / 75994.0185207293 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
CachedDefaultOptions - Duration of single invocation 844.30 ns 514.61 ns 0.61 0.05 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Serialization.Tests.ColdStartSerialization&lt;SimpleStructWithProperties&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.CachedDefaultOptions


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 514.6064702123678 < 632.060912433234.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.197875544760258 (T) = (0 -512.5670896741627) / Math.Sqrt((4380.787814949378 / (299)) + (51.92819355377209 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0598788756942297 = (545.21388406485 - 512.5670896741627) / 545.21388406485 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<CollectionsOfPrimitives>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
XmlSerializer_ - Duration of single invocation 845.69 μs 386.52 μs 0.46 0.01 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;CollectionsOfPrimitives&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_FromStream<CollectionsOfPrimitives>.XmlSerializer_


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 386.5179588871715 < 586.9075567308132.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.023244798353028 (T) = (0 -387561.07560677687) / Math.Sqrt((10240816124.803835 / (299)) + (14848087.222877925 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07083486371337804 = (417106.7773330928 - 387561.07560677687) / 417106.7773330928 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<Location>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DataContractSerializer_ - Duration of single invocation 7.24 μs 4.90 μs 0.68 0.02 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;Location&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_FromStream<Location>.DataContractSerializer_


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.9017842451914175 < 5.866691809403244.
IsChangePoint: Marked as a change because one of 5/20/2022 10:46:48 AM, 5/27/2022 11:47:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.918832979314608 (T) = (0 -4913.02370638818) / Math.Sqrt((352617.88326532865 / (299)) + (4432.394607236049 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06104052727169405 = (5232.412951873797 - 4913.02370638818) / 5232.412951873797 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<Location>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
XmlSerializer_ - Duration of single invocation 3.38 μs 1.76 μs 0.52 0.04 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;Location&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_ToStream<Location>.XmlSerializer_


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.7642438540259326 < 2.4753672562456837.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.648433249153296 (T) = (0 -1776.5372406966208) / Math.Sqrt((125211.91301097456 / (299)) + (957.6588987508655 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06259234308116583 = (1895.159728624281 - 1776.5372406966208) / 1895.159728624281 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<SimpleStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
XmlSerializer_ - Duration of single invocation 1.97 μs 1.14 μs 0.58 0.07 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;SimpleStructWithProperties&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_ToStream<SimpleStructWithProperties>.XmlSerializer_


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.138346278340745 < 1.4862659399423481.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.4871634904666315 (T) = (0 -1166.4943785100527) / Math.Sqrt((36982.71654349681 / (299)) + (1319.593653938236 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05521877086110734 = (1234.6714165492442 - 1166.4943785100527) / 1234.6714165492442 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
XmlSerializer_ - Duration of single invocation 2.42 μs 1.29 μs 0.53 0.09 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;LoginViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_ToStream<LoginViewModel>.XmlSerializer_


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.2932234083209386 < 1.7798949848766057.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.230989539362559 (T) = (0 -1310.4335367797196) / Math.Sqrt((64543.405041988255 / (299)) + (1276.905138965434 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05887038023662759 = (1392.4049453561997 - 1310.4335367797196) / 1392.4049453561997 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in Span.Sorting

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
QuickSortSpan - Duration of single invocation 14.38 μs 6.96 μs 0.48 0.07 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Span.Sorting*'

Payloads

Baseline
Compare

Histogram

Span.Sorting.QuickSortSpan(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 6.958789999999999 < 10.229099128333333.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.7828058212475755 (T) = (0 -7092.3225587954685) / Math.Sqrt((3858398.0806316817 / (299)) + (22970.159995507478 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07250713561274495 = (7646.767787783453 - 7092.3225587954685) / 7646.767787783453 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in BenchmarksGame.RegexRedux_1

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
RunBench - Duration of single invocation 50.30 ms 33.53 ms 0.67 0.01 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'BenchmarksGame.RegexRedux_1*'

Payloads

Baseline
Compare

Histogram

BenchmarksGame.RegexRedux_1.RunBench


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 33.528942846938776 < 40.84205218407738.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.62192564091666 (T) = (0 -33397587.40708534) / Math.Sqrt((12571200163044.232 / (299)) + (160273051704.95923 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07480665781025166 = (36097954.75618091 - 33397587.40708534) / 36097954.75618091 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Collections.Concurrent.IsEmpty<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Dictionary - Duration of single invocation 17.04 ns 2.36 ns 0.14 0.23 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.Concurrent.IsEmpty&lt;Int32&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.IsEmpty<Int32>.Dictionary(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 2.360446420646468 < 8.99505448124091.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.894646326006771 (T) = (0 -1.9987653175653204) / Math.Sqrt((11.679274768410876 / (299)) + (0.016431063772899934 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2790109121100601 = (2.7722546029301833 - 1.9987653175653204) / 2.7722546029301833 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<ClassImplementingIXmlSerialiable>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DataContractSerializer_ - Duration of single invocation 2.05 μs 1.48 μs 0.72 0.03 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;ClassImplementingIXmlSerialiable&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_FromStream<ClassImplementingIXmlSerialiable>.DataContractSerializer_


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.4769428450654611 < 1.6462456085801933.
IsChangePoint: Marked as a change because one of 5/20/2022 10:46:48 AM, 5/27/2022 11:47:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 10.249199861605103 (T) = (0 -1468.8192010251516) / Math.Sqrt((16509.156118913554 / (299)) + (328.5658352688446 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05242144099444362 = (1550.0764417534049 - 1468.8192010251516) / 1550.0764417534049 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_SByte

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParse - Duration of single invocation 18.01 ns 9.84 ns 0.55 0.19 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_SByte*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_SByte.TryParse(value: "-128")


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 9.836887098218668 < 13.300312757379102.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.954490903023119 (T) = (0 -10.021642715732186) / Math.Sqrt((3.2646698144554334 / (299)) + (0.05127915914998135 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.051599431507654926 = (10.566888136374072 - 10.021642715732186) / 10.566888136374072 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<IndexViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DataContractSerializer_ - Duration of single invocation 179.25 μs 117.18 μs 0.65 0.02 False
XmlSerializer_ - Duration of single invocation 153.43 μs 55.88 μs 0.36 0.01 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;IndexViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_FromStream<IndexViewModel>.DataContractSerializer_


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 117.18435695808012 < 141.6005960775987.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 9.530537586773429 (T) = (0 -117809.39735460383) / Math.Sqrt((190748970.406291 / (299)) + (1396770.947108255 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06212443762640589 = (125613.03661271381 - 117809.39735460383) / 125613.03661271381 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### MicroBenchmarks.Serializers.Xml_FromStream&lt;IndexViewModel&gt;.XmlSerializer_

```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 55.88164326794701 < 99.69115688441511.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.354679069185717 (T) = (0 -55968.76635580095) / Math.Sqrt((478461461.33488035 / (299)) + (264530.5765756186 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08976086261271393 = (61487.98052833836 - 55968.76635580095) / 61487.98052833836 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Tests.Perf_DateTimes

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteDateTimes - Duration of single invocation 9.06 ms 4.22 ms 0.47 0.02 False
WriteDateTimes - Duration of single invocation 8.99 ms 4.08 ms 0.45 0.01 False
WriteDateTimes - Duration of single invocation 7.82 ms 3.80 ms 0.49 0.02 False
WriteDateTimes - Duration of single invocation 7.93 ms 3.86 ms 0.49 0.01 False

graph
graph
graph
graph
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_DateTimes*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted: True, SkipValidation: 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 4.217692151331719 < 6.3018719392062765.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8027405317414043 (T) = (0 -4210548.054020477) / Math.Sqrt((1276884263978.1594 / (299)) + (734553667.6365218 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.055835789162757984 = (4459550.579964003 - 4210548.054020477) / 4459550.579964003 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted: True, SkipValidation: True)

```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 4.078117141686183 < 6.23135125844311.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.817057264259953 (T) = (0 -4082410.438095885) / Math.Sqrt((1199707208212.9827 / (299)) + (143526575.67307553 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06957140849479472 = (4387666.582226956 - 4082410.438095885) / 4387666.582226956 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted: False, SkipValidation: True)

```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 3.8015916711538456 < 5.537244729108574.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.152045205467505 (T) = (0 -3803816.863188092) / Math.Sqrt((946266909389.382 / (299)) + (22033547.692718238 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.057858227100288276 = (4037414.508732326 - 3803816.863188092) / 4037414.508732326 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted: False, SkipValidation: False)

```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 3.8616662635416668 < 5.573858853846153.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.57068702123309 (T) = (0 -3859694.8768524667) / Math.Sqrt((824327924511.5546 / (299)) + (6984988.909700175 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05854061815868329 = (4099693.466651352 - 3859694.8768524667) / 4099693.466651352 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Collections.CtorFromCollection<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SortedList - Duration of single invocation 9.37 μs 6.09 μs 0.65 0.26 False
SortedSet - Duration of single invocation 10.35 μs 7.68 μs 0.74 0.08 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.CtorFromCollection&lt;Int32&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.CtorFromCollection<Int32>.SortedList(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 6.086984422477601 < 7.356976829287151.
IsChangePoint: Marked as a change because one of 6/1/2022 2:58:46 AM, 6/6/2022 5:03:41 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.423025087888043 (T) = (0 -6072.379393505783) / Math.Sqrt((718668.8422761564 / (299)) + (24070.307994584582 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0702079737225804 = (6530.900698102979 - 6072.379393505783) / 6530.900698102979 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;Int32&gt;.SortedSet(Size: 512)

```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 7.67809558600848 < 8.874915986394123.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/10/2022 8:13:50 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.060000477999678 (T) = (0 -7705.355340408951) / Math.Sqrt((589126.6056678334 / (299)) + (11751.462472019311 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.057798733929415 = (8178.035434556192 - 7705.355340408951) / 8178.035434556192 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Collections.IterateForEach<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadOnlySpan - Duration of single invocation 233.69 ns 117.46 ns 0.50 0.01 False
Span - Duration of single invocation 233.76 ns 117.26 ns 0.50 0.01 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.IterateForEach&lt;Int32&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.IterateForEach<Int32>.ReadOnlySpan(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 117.46009110270037 < 166.76591998872166.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.170533386044229 (T) = (0 -117.28119645761585) / Math.Sqrt((687.9726604103458 / (299)) + (0.06263257995841383 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05119500527136388 = (123.60937928152346 - 117.28119645761585) / 123.60937928152346 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.IterateForEach&lt;Int32&gt;.Span(Size: 512)

```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 117.2620650289619 < 167.32745427757317.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.144413860770625 (T) = (0 -117.1241968393013) / Math.Sqrt((689.7434628862719 / (299)) + (0.09802002600629182 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05102621795001244 = (123.42195227594996 - 117.1241968393013) / 123.42195227594996 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.IO.Tests.BinaryWriterTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteUInt16 - Duration of single invocation 16.35 ns 1.55 ns 0.09 0.16 False
WriteAsciiChar - Duration of single invocation 24.71 ns 4.76 ns 0.19 0.11 False
WriteUInt32 - Duration of single invocation 16.45 ns 1.75 ns 0.11 0.10 False
WriteUInt64 - Duration of single invocation 16.50 ns 1.75 ns 0.11 0.09 False
WriteDouble - Duration of single invocation 16.71 ns 1.54 ns 0.09 0.12 False
WriteSingle - Duration of single invocation 16.98 ns 1.54 ns 0.09 0.11 False
WriteNonAsciiChar - Duration of single invocation 25.02 ns 4.07 ns 0.16 0.08 False

graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.IO.Tests.BinaryWriterTests*'

Payloads

Baseline
Compare

Histogram

System.IO.Tests.BinaryWriterTests.WriteUInt16


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.5502406064858123 < 8.590962877890798.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.810269196240689 (T) = (0 -1.6349709661523226) / Math.Sqrt((10.78746684109335 / (299)) + (0.02780335410300688 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3605403214642497 = (2.556800719470096 - 1.6349709661523226) / 2.556800719470096 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.BinaryWriterTests.WriteAsciiChar

```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 4.756668988755163 < 13.425365590762269.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.3177333406895064 (T) = (0 -3.7467851177080775) / Math.Sqrt((22.432381747713872 / (299)) + (0.14770944844122494 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.19873796237620284 = (4.676104622177597 - 3.7467851177080775) / 4.676104622177597 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.BinaryWriterTests.WriteUInt32

```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 1.7504834593187182 < 8.7354926119356.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.4099066711333945 (T) = (0 -1.7999306511403925) / Math.Sqrt((10.708418228627286 / (299)) + (0.006946966819113394 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3172690124706638 = (2.6363687660552415 - 1.7999306511403925) / 2.6363687660552415 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.BinaryWriterTests.WriteUInt64

```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 1.7517659857307464 < 8.623399744410252.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.503896043406846 (T) = (0 -1.7868420521566435) / Math.Sqrt((10.775300473035301 / (299)) + (0.005580080579809611 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.32403202792346325 = (2.643382713337086 - 1.7868420521566435) / 2.643382713337086 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.BinaryWriterTests.WriteDouble

```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 1.5411901203753018 < 8.665763101149038.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.465554343000075 (T) = (0 -1.6779868136742366) / Math.Sqrt((11.551378195659758 / (299)) + (0.0572169093769865 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3472635303421139 = (2.5706956661295597 - 1.6779868136742366) / 2.5706956661295597 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.BinaryWriterTests.WriteSingle

```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 1.544241924227411 < 8.940498305122823.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.690172091199822 (T) = (0 -1.6415155367649574) / Math.Sqrt((11.592251277558368 / (299)) + (0.029020965804810558 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.36202751775706 = (2.573019342454755 - 1.6415155367649574) / 2.573019342454755 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.BinaryWriterTests.WriteNonAsciiChar

```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 4.06844564847141 < 13.816601651845335.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.92976228587482 (T) = (0 -4.080812977222599) / Math.Sqrt((22.69388388756187 / (299)) + (0.0019874328638842713 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.20972448183679918 = (5.163785140032473 - 4.080812977222599) / 5.163785140032473 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Count - Duration of single invocation 13.83 ms 3.40 ms 0.25 0.01 False
Count - Duration of single invocation 124.34 μs 70.64 μs 0.57 0.01 False
Count - Duration of single invocation 1.12 ms 482.06 μs 0.43 0.02 False
Count - Duration of single invocation 13.56 ms 5.42 ms 0.40 0.03 False
Count - Duration of single invocation 7.12 ms 1.11 ms 0.16 0.01 False
Count - Duration of single invocation 1.51 ms 654.70 μs 0.43 0.01 False
Count - Duration of single invocation 18.10 ms 12.74 ms 0.70 0.45 False
Count - Duration of single invocation 18.71 ms 13.39 ms 0.72 0.02 False
Count - Duration of single invocation 168.11 μs 127.88 μs 0.76 0.02 False
Count - Duration of single invocation 161.23 μs 113.97 μs 0.71 0.01 False
Count - Duration of single invocation 1.80 ms 962.94 μs 0.53 0.01 False
Count - Duration of single invocation 7.06 ms 4.54 ms 0.64 0.04 False
Count - Duration of single invocation 9.10 ms 6.15 ms 0.68 0.03 False
Count - Duration of single invocation 4.07 ms 1.58 ms 0.39 0.01 False
Count - Duration of single invocation 17.35 ms 3.87 ms 0.22 0.01 False
Count - Duration of single invocation 7.88 ms 2.89 ms 0.37 0.03 False
Count - Duration of single invocation 74.19 μs 59.07 μs 0.80 0.03 False
Count - Duration of single invocation 165.53 μs 128.74 μs 0.78 0.02 False
Count - Duration of single invocation 2.72 ms 2.20 ms 0.81 0.01 False
Count - Duration of single invocation 31.26 ms 8.13 ms 0.26 0.02 False
Count - Duration of single invocation 198.22 μs 147.93 μs 0.75 0.01 False
Count - Duration of single invocation 13.34 ms 2.97 ms 0.22 0.02 False
Count - Duration of single invocation 222.90 μs 167.44 μs 0.75 0.01 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock*'

Payloads

Baseline
Compare

Histogram

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\w+\s+Holmes\s+\w+", Options: Compiled)


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 3.3966206197916664 < 8.114553671345007.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.239172587758512 (T) = (0 -3397483.685140625) / Math.Sqrt((5469444908106.787 / (299)) + (55580378.678961344 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14439393388948119 = (3970850.394487235 - 3397483.685140625) / 3970850.394487235 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Holmes.{0,25}Watson|Watson.{0,25}Holmes", Options: Compiled)

```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 70.64166135778636 < 92.43654067590998.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.411044442618672 (T) = (0 -70199.77766890461) / Math.Sqrt((149799702.10052225 / (299)) + (183042.46014272203 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05194412007055787 = (74046.03373603795 - 70199.77766890461) / 74046.03373603795 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "the\s+\w+", Options: Compiled)

```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 482.0564376531863 < 761.7438753449428.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.219656778675509 (T) = (0 -468362.9689529996) / Math.Sqrt((22274441220.81687 / (299)) + (12040958.295074519 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07227627358960914 = (504851.7738844733 - 468362.9689529996) / 504851.7738844733 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\w+", Options: Compiled)

```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 5.415503363120567 < 8.50734459550595.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.27751064972287 (T) = (0 -5187402.788558301) / Math.Sqrt((3011745672557.1475 / (299)) + (3160987824.7190747 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0766904045580749 = (5618270.203371434 - 5187402.788558301) / 5618270.203371434 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\p{Lu}", Options: Compiled)

```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 1.1103490249999999 < 3.897533024126602.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9895309419279745 (T) = (0 -1100513.2703829573) / Math.Sqrt((2071841439516.2068 / (299)) + (56297381.79678375 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2318291591324268 = (1432641.2977873986 - 1100513.2703829573) / 1432641.2977873986 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sher[a-z]+|Hol[a-z]+", Options: Compiled)

```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 654.700734 < 1.0270432323394705.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.940882958938914 (T) = (0 -649367.8514414049) / Math.Sqrt((38330103969.729614 / (299)) + (12593331.303228125 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06436352518032566 = (694038.6238860107 - 649367.8514414049) / 694038.6238860107 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-zA-Z]+ing", Options: None)

```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 12.736090423076924 < 14.321919932083333.
IsChangePoint: Marked as a change because one of 5/24/2022 10:45:34 PM, 7/2/2022 7:35:06 PM, 7/6/2022 7:05:00 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.54950187793395 (T) = (0 -12613667.751917845) / Math.Sqrt((3083862039370.427 / (299)) + (389333529605.8501 / (39))) is greater than 1.9670493839589689 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (39) - 2, .975) and 0.12414555026098441 = (14401556.966087718 - 12613667.751917845) / 14401556.966087718 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\w+", Options: NonBacktracking)

```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 13.394849292592593 < 15.580115853390431.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 6/7/2022 9:37:06 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 15.217962674581175 (T) = (0 -13665909.85650645) / Math.Sqrt((5842919850894.1045 / (299)) + (82657229320.67693 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14026126581794798 = (15895421.845228456 - 13665909.85650645) / 15895421.845228456 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes", Options: NonBacktracking)

```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 127.87683687670766 < 140.1814416351413.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.922805338651573 (T) = (0 -128164.26770487316) / Math.Sqrt((162233804.71663386 / (299)) + (1916364.2876587266 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07172073333360099 = (138066.49820493328 - 128164.26770487316) / 138066.49820493328 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sherlock Holmes", Options: NonBacktracking)

```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 113.96649501144165 < 132.6831063133714.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 9.337641112559705 (T) = (0 -112328.33010346265) / Math.Sqrt((105991338.57800637 / (299)) + (4900990.302817649 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05383353387913708 = (118719.41579581819 - 112328.33010346265) / 118719.41579581819 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sher[a-z]+|Hol[a-z]+", Options: NonBacktracking)

```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 962.943349612403 < 1.3264055576269203.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.993217586522229 (T) = (0 -963692.9979998962) / Math.Sqrt((35242181910.99132 / (299)) + (16940555.07024578 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05334037224521802 = (1017993.1305251843 - 963692.9979998962) / 1017993.1305251843 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-zA-Z]+ing", Options: NonBacktracking)

```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 4.5402402266666675 < 5.425689718505891.
IsChangePoint: Marked as a change because one of 6/7/2022 9:37:06 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 15.309518203831304 (T) = (0 -4564469.140165165) / Math.Sqrt((935434594761.2015 / (299)) + (7956200201.8435955 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.16182766170416585 = (5445740.609199309 - 4564469.140165165) / 5445740.609199309 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\b\w+n\b", Options: NonBacktracking)

```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 6.151934282142857 < 7.352760403968254.
IsChangePoint: Marked as a change because one of 6/7/2022 9:37:06 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 17.45899234755486 (T) = (0 -6254765.888813261) / Math.Sqrt((1252892024666.4536 / (299)) + (8013657263.149972 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1558776502986678 = (7409785.904882539 - 6254765.888813261) / 7409785.904882539 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson|Irene|Adler|John|Baker", Options: Compiled)

```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 1.5840205566964285 < 2.686087078932864.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.161548658114218 (T) = (0 -1587882.2987522362) / Math.Sqrt((334092395429.1126 / (299)) + (105138816.50739345 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08063045996431788 = (1727142.6011031517 - 1587882.2987522362) / 1727142.6011031517 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\s[a-zA-Z]{0,12}ing\s", Options: Compiled)

```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 3.8651398343750003 < 10.021063654579326.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.6183902625479587 (T) = (0 -3852602.6354195955) / Math.Sqrt((9463070197793.791 / (299)) + (844450878.1613919 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1432036061090088 = (4496520.600330346 - 3852602.6354195955) / 4496520.600330346 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-zA-Z]+ing", Options: Compiled)

```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 2.890850909054487 < 5.1187519857271635.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.113074370253672 (T) = (0 -2897070.0243922495) / Math.Sqrt((1290853924680.224 / (299)) + (396029648.5929454 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08540838125883354 = (3167610.5105574266 - 2897070.0243922495) / 3167610.5105574266 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Street", Options: NonBacktracking)

```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 59.07417353540101 < 65.10299105574728.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.6279593838362 (T) = (0 -61189.479480458554) / Math.Sqrt((23006353.483717687 / (299)) + (1611905.0893874024 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06525593468209218 = (65461.21205877667 - 61189.479480458554) / 65461.21205877667 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Holmes.{0,25}Watson|Watson.{0,25}Holmes", Options: NonBacktracking)

```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 128.73677353853137 < 137.97559536342837.
IsChangePoint: Marked as a change because one of 6/7/2022 9:37:06 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 14.857814748073542 (T) = (0 -130294.72835160917) / Math.Sqrt((318039496.61807364 / (299)) + (3780066.772737296 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10902850344313134 = (146238.9412625758 - 130294.72835160917) / 146238.9412625758 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sherlock|Holmes|Watson|Irene|Adler|John|Baker", Options: Compiled)

```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 2.2040788883928575 < 2.3352570853509422.
IsChangePoint: Marked as a change because one of 6/16/2022 2:51:40 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 22.2856264235334 (T) = (0 -2206013.993059925) / Math.Sqrt((19005677495.643856 / (299)) + (28840064.239824403 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07490139809592414 = (2384625.799368215 - 2206013.993059925) / 2384625.799368215 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\b\w+n\b", Options: Compiled)

```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 8.127439534562212 < 18.61461216577778.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.319340106042204 (T) = (0 -8173650.734413774) / Math.Sqrt((26656239537337.703 / (299)) + (6311062882.719408 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.13637847354029373 = (9464389.763326643 - 8173650.734413774) / 9464389.763326643 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sher[a-z]+|Hol[a-z]+", Options: NonBacktracking)

```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 147.93136586084904 < 164.39322778207037.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 6/7/2022 9:37:06 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 13.911872205727764 (T) = (0 -150300.48738249418) / Math.Sqrt((260620774.7859689 / (299)) + (4333331.187117098 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08364061004928024 = (164019.14907051597 - 150300.48738249418) / 164019.14907051597 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\w+\s+Holmes", Options: Compiled)

```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 2.965756082589286 < 7.74560884498264.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.129955141981768 (T) = (0 -2973781.7638115115) / Math.Sqrt((5440274004621.498 / (299)) + (308755976.30038804 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1578015144532367 = (3530974.959995213 - 2973781.7638115115) / 3530974.959995213 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson", Options: NonBacktracking)

```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 167.44222399710506 < 186.2684588441682.
IsChangePoint: Marked as a change because one of 5/27/2022 11:47:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 11.993474814920926 (T) = (0 -168701.03991214684) / Math.Sqrt((236639858.38326764 / (299)) + (2383899.0245435718 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06140658986639547 = (179738.14656138807 - 168701.03991214684) / 179738.14656138807 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToStream - Duration of single invocation 8.46 μs 4.29 μs 0.51 0.05 False
SerializeToString - Duration of single invocation 9.34 μs 4.67 μs 0.50 0.03 False
SerializeObjectProperty - Duration of single invocation 9.09 μs 5.03 μs 0.55 0.01 False
SerializeToUtf8Bytes - Duration of single invocation 8.60 μs 4.40 μs 0.51 0.04 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;HashSet&lt;String&gt;&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToStream


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.2891259765625005 < 6.0813921475382955.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.0625258454758475 (T) = (0 -4403.56079530141) / Math.Sqrt((825392.6391117933 / (299)) + (4169.248290917611 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06854889970162739 = (4727.63497073632 - 4403.56079530141) / 4727.63497073632 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;HashSet&lt;String&gt;&gt;.SerializeToString

```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 4.669053392432858 < 6.4312322596551565.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.084738440588282 (T) = (0 -4725.703813899879) / Math.Sqrt((840711.3886752224 / (299)) + (22996.419250705796 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.058597076128420134 = (5019.852492559848 - 4725.703813899879) / 5019.852492559848 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;HashSet&lt;String&gt;&gt;.SerializeObjectProperty

```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 5.031597373729826 < 6.568788495928259.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.27738608673645 (T) = (0 -4895.082649685046) / Math.Sqrt((868956.409232891 / (299)) + (4677.608133215908 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0558888199330144 = (5184.858259318288 - 4895.082649685046) / 5184.858259318288 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;HashSet&lt;String&gt;&gt;.SerializeToUtf8Bytes

```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 4.3954471108585045 < 6.1300408627639795.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.257973116226762 (T) = (0 -4427.483803468064) / Math.Sqrt((831466.3354629342 / (299)) + (3005.8265201266117 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0701709899641434 = (4761.610743137955 - 4427.483803468064) / 4761.610743137955 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.MemoryMarshal<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetReference - Duration of single invocation 5.57 ns 0.00 ns 0.00 0.60 False
AsBytes - Duration of single invocation 10.97 ns 0.00 ns 0.00 0.10 False
CastToByte - Duration of single invocation 9.68 ns 0.19 ns 0.02 0.20 False
Read - Duration of single invocation 2.83 ns 1.09 ns 0.39 0.27 False
CastToInt - Duration of single invocation 9.69 ns 0.00 ns 0.00 0.10 False

graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.MemoryMarshal&lt;Byte&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.MemoryMarshal<Byte>.GetReference


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.673995265654757E-05 < 2.650698772389941.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.126660849872728 (T) = (0 -0.013618598678849032) / Math.Sqrt((1.568775138281702 / (299)) + (0.002465951402116619 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9566507365567335 = (0.31415986333129736 - 0.013618598678849032) / 0.31415986333129736 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.MemoryMarshal&lt;Byte&gt;.AsBytes

```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 0 < 5.319737878326372.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.969048061800288 (T) = (0 -0.02234644229122262) / Math.Sqrt((5.952403867896436 / (299)) + (0.005014534645930481 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9691986961912078 = (0.7255031290215661 - 0.02234644229122262) / 0.7255031290215661 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.MemoryMarshal&lt;Byte&gt;.CastToByte

```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 0.1897889736349099 < 4.642678695024622.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.3480936471603417 (T) = (0 -0.1805699900530292) / Math.Sqrt((4.695982199289481 / (299)) + (0.0021887854903966594 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.699470496300895 = (0.600839477756629 - 0.1805699900530292) / 0.600839477756629 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.MemoryMarshal&lt;Byte&gt;.Read

```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 1.089295945505533 < 1.8704252987404921.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.514392892505326 (T) = (0 -1.1059416335673027) / Math.Sqrt((0.6034190675734253 / (299)) + (0.0031837742686583637 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.157333396663785 = (1.3124308346726348 - 1.1059416335673027) / 1.3124308346726348 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.MemoryMarshal&lt;Byte&gt;.CastToInt

```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 0 < 4.709402832509536.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.432489194062932 (T) = (0 -0.01849406318634527) / Math.Sqrt((4.595263325320681 / (299)) + (0.003705182342957642 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.973345722243188 = (0.6938497210497034 - 0.01849406318634527) / 0.6938497210497034 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_UInt32

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParse - Duration of single invocation 20.43 ns 14.01 ns 0.69 0.35 False
Parse - Duration of single invocation 21.98 ns 14.10 ns 0.64 0.35 False
TryFormat - Duration of single invocation 12.23 ns 1.64 ns 0.13 0.05 False
TryParseHex - Duration of single invocation 99.78 ns 10.19 ns 0.10 0.01 False
TryParseHex - Duration of single invocation 11.30 ns 4.46 ns 0.39 0.02 False
TryFormat - Duration of single invocation 14.26 ns 5.71 ns 0.40 0.03 False
TryParseHex - Duration of single invocation 55.34 ns 7.06 ns 0.13 0.03 False

graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_UInt32*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_UInt32.TryParse(value: "4294967295")


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.005237211857299 < 18.998093539886106.
IsChangePoint: Marked as a change because one of 6/6/2022 10:12:27 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.440818645744465 (T) = (0 -14.91254194893083) / Math.Sqrt((2.8271167357151485 / (299)) + (1.030854766125179 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07318804659949692 = (16.090148486126264 - 14.91254194893083) / 16.090148486126264 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_UInt32.Parse(value: "4294967295")

```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.098090670010906 < 17.876352315572262.
IsChangePoint: Marked as a change because one of 6/6/2022 10:12:27 PM, 6/20/2022 7:45:04 PM, 7/2/2022 7:35:06 PM, 7/6/2022 8:41:56 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.478073091506059 (T) = (0 -14.982349289313898) / Math.Sqrt((4.287976408048828 / (299)) + (4.204458700602148 / (42))) is greater than 1.9669864608404333 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (42) - 2, .975) and 0.07281608034057768 = (16.158983101019793 - 14.982349289313898) / 16.158983101019793 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_UInt32.TryFormat(value: 0)

```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 1.6353040639528067 < 6.289347914313484.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.13952585911704 (T) = (0 -1.6418234366248685) / Math.Sqrt((5.312057725983563 / (299)) + (0.0004092012947320812 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2944619226316449 = (2.327051493448577 - 1.6418234366248685) / 2.327051493448577 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_UInt32.TryParseHex(value: "FFFFFFFF")

```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 10.18580089074919 < 52.18793495561236.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.902046087242891 (T) = (0 -10.17702489206458) / Math.Sqrt((413.4509930951081 / (299)) + (0.000641356111599376 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3107578726757497 = (14.765529396140426 - 10.17702489206458) / 14.765529396140426 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_UInt32.TryParseHex(value: "0")

```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 4.4559498266047965 < 7.455829008374127.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.5130401887759937 (T) = (0 -4.457841983670018) / Math.Sqrt((2.619297511333753 / (299)) + (0.0002224399215794511 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05013287735875527 = (4.693121677139782 - 4.457841983670018) / 4.693121677139782 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_UInt32.TryFormat(value: 12345)

```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 5.711343597096606 < 9.583274906488338.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.586432656281606 (T) = (0 -5.706246605449638) / Math.Sqrt((3.704845187860577 / (299)) + (0.0044461010520333 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0986365612287521 = (6.330683451315131 - 5.706246605449638) / 6.330683451315131 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_UInt32.TryParseHex(value: "3039")

```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 7.062258343411667 < 28.852024266089945.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.6951859504120987 (T) = (0 -7.061841501773372) / Math.Sqrt((125.15932156922995 / (299)) + (0.003291004922446012 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2529365221319862 = (9.452799810166884 - 7.061841501773372) / 9.452799810166884 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_Guid

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ParseExactD - Duration of single invocation 201.12 ns 20.59 ns 0.10 0.02 False
ctor_str - Duration of single invocation 205.37 ns 24.44 ns 0.12 0.03 False
Parse - Duration of single invocation 207.96 ns 24.42 ns 0.12 0.01 False
TryWriteBytes - Duration of single invocation 11.05 ns 0.23 ns 0.02 0.12 False
ctor_bytes - Duration of single invocation 9.83 ns 0.70 ns 0.07 0.18 False

graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Guid*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Guid.ParseExactD


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 20.586451604792092 < 105.4351181677613.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.057858579449425 (T) = (0 -20.74673123261841) / Math.Sqrt((1664.6085294891088 / (299)) + (0.04739517678398637 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.31579085626722986 = (30.322206919703792 - 20.74673123261841) / 30.322206919703792 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Guid.ctor_str

```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 24.436934025270805 < 109.28124860856008.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.303858421851337 (T) = (0 -24.601812911969354) / Math.Sqrt((1657.3098643066364 / (299)) + (0.8801528628961328 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.29209899568991987 = (34.75318266562747 - 24.601812911969354) / 34.75318266562747 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Guid.Parse

```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 24.421946350866822 < 109.1785111297287.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.107095567756983 (T) = (0 -24.705098737114714) / Math.Sqrt((1671.9299036539408 / (299)) + (0.11408588039013527 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.28223316591826464 = (34.41939298953653 - 24.705098737114714) / 34.41939298953653 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Guid.TryWriteBytes

```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 0.22776744919778005 < 5.307887926028197.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.005716106833149 (T) = (0 -0.22109136864594103) / Math.Sqrt((5.984843520595821 / (299)) + (0.0007043210054819751 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.719443708368023 = (0.7880463751494129 - 0.22109136864594103) / 0.7880463751494129 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Guid.ctor_bytes

```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 0.6964389911343608 < 4.948880341497045.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 9.1622656494344 (T) = (0 -0.771583715578229) / Math.Sqrt((4.173483082619156 / (299)) + (0.03634045867907043 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5909634883255347 = (1.8863443569367704 - 0.771583715578229) / 1.8863443569367704 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.Span<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IndexOfValue - Duration of single invocation 26.41 ns 17.52 ns 0.66 0.27 False
BinarySearch - Duration of single invocation 24.23 ns 12.50 ns 0.52 0.19 False
Reverse - Duration of single invocation 37.58 ns 26.23 ns 0.70 0.12 False
SequenceCompareTo - Duration of single invocation 343.50 ns 267.13 ns 0.78 0.00 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Span&lt;Int32&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Span<Int32>.IndexOfValue(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.517363499896494 < 22.41663487158434.
IsChangePoint: Marked as a change because one of 6/6/2022 10:12:27 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 9.593788485043047 (T) = (0 -18.301051739983034) / Math.Sqrt((4.954262627003686 / (299)) + (0.5898019320059787 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08360214545479445 = (19.97064009830705 - 18.301051739983034) / 19.97064009830705 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Int32&gt;.BinarySearch(Size: 512)

```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 12.500940111743331 < 18.573590647392862.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.576024884918874 (T) = (0 -14.30486825510352) / Math.Sqrt((4.4364057224522515 / (299)) + (1.9137594774578504 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12743445126372777 = (16.394032833202175 - 14.30486825510352) / 16.394032833202175 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Int32&gt;.Reverse(Size: 512)

```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 26.227239528233532 < 32.384680052076824.
IsChangePoint: Marked as a change because one of 5/20/2022 9:09:19 PM, 6/21/2022 2:34:11 AM, 6/30/2022 2:59:47 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.585949449798916 (T) = (0 -28.43953522677024) / Math.Sqrt((8.74258804564949 / (299)) + (4.9632626293658015 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05778777134660957 = (30.183789131474146 - 28.43953522677024) / 30.183789131474146 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Int32&gt;.SequenceCompareTo(Size: 512)

```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 267.1258356711543 < 324.79868183779433.
IsChangePoint: Marked as a change because one of 7/6/2022 7:05:00 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 1188.59095663816 (T) = (0 -266.8752048494928) / Math.Sqrt((0.8382282164966027 / (299)) + (0.04257164593631668 / (39))) is greater than 1.9670493839589689 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (39) - 2, .975) and 0.21750160667716112 = (341.05527516321285 - 266.8752048494928) / 341.05527516321285 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_DateTime

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToString - Duration of single invocation 225.28 ns 147.59 ns 0.66 0.02 False
ToString - Duration of single invocation 225.86 ns 147.66 ns 0.65 0.02 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_DateTime*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_DateTime.ToString(format: "G")


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 147.59024129197965 < 180.5404865949692.
IsChangePoint: Marked as a change because one of 5/31/2022 6:06:22 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.35028160244022 (T) = (0 -147.83407998011626) / Math.Sqrt((273.068355504172 / (299)) + (2.2731949699379954 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07588366887909916 = (159.9734524773541 - 147.83407998011626) / 159.9734524773541 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_DateTime.ToString(format: null)

```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 147.66013159747337 < 180.619283401549.
IsChangePoint: Marked as a change because one of 6/1/2022 6:40:18 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.409932284053852 (T) = (0 -148.68456033897533) / Math.Sqrt((256.70109019765306 / (299)) + (3.5777944593350504 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0749279454419379 = (160.72754506675366 - 148.68456033897533) / 160.72754506675366 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements 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
FormatterUInt32 - Duration of single invocation 21.30 ns 5.33 ns 0.25 0.05 False
FormatterInt32 - Duration of single invocation 24.76 ns 9.25 ns 0.37 0.04 False
FormatterUInt32 - Duration of single invocation 26.59 ns 9.88 ns 0.37 0.01 False
FormatterUInt64 - Duration of single invocation 12.71 ns 0.72 ns 0.06 0.05 False
FormatterUInt32 - Duration of single invocation 12.68 ns 0.70 ns 0.06 0.04 False
FormatterUInt64 - Duration of single invocation 21.05 ns 5.62 ns 0.27 0.03 False

graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Buffers.Text.Tests.Utf8FormatterTests*'

Payloads

Baseline
Compare

Histogram

System.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt32(value: 12345)


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 5.330612142236881 < 13.218681376786735.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.412425588749287 (T) = (0 -5.398575659415717) / Math.Sqrt((13.332529590963965 / (299)) + (0.08233386519661022 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.14984633241963746 = (6.350117473210107 - 5.398575659415717) / 6.350117473210107 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt32(value: 12345)

```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 9.249503277175402 < 16.186874710274292.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.104085822398562 (T) = (0 -9.285215801307436) / Math.Sqrt((12.45182297340145 / (299)) + (0.08381075810355972 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0652457782057927 = (9.933323203916634 - 9.285215801307436) / 9.933323203916634 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt32(value: 4294967295)

```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 9.88145187823222 < 17.81461881511903.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.2682671636845235 (T) = (0 -9.971940055033887) / Math.Sqrt((13.612155194303876 / (299)) + (0.11293279252027064 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08586012461847463 = (10.908549472116615 - 9.971940055033887) / 10.908549472116615 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt64(value: 0)

```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 0.7179328464061232 < 6.375672292002204.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.629605995476843 (T) = (0 -0.7161018370510562) / Math.Sqrt((7.314605019758093 / (299)) + (7.781288718669937E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5027890645877643 = (1.4402375049481544 - 0.7161018370510562) / 1.4402375049481544 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt32(value: 0)

```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 0.701338944232024 < 6.392132566444832.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.843786595308968 (T) = (0 -0.704875353854462) / Math.Sqrt((7.830733437538443 / (299)) + (0.0001321059289276421 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.5265490107432148 = (1.4888032126851451 - 0.704875353854462) / 1.4888032126851451 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt64(value: 12345)

```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 5.622196441725844 < 13.129746620447449.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.141386344829461 (T) = (0 -5.644977494831825) / Math.Sqrt((12.840829697100796 / (299)) + (0.02166965003727437 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1326406940891565 = (6.508234195866317 - 5.644977494831825) / 6.508234195866317 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Collections.Sort<IntStruct>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Array - Duration of single invocation 5.11 μs 2.74 μs 0.54 0.11 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.Sort&lt;IntStruct&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.Sort<IntStruct>.Array(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 2.738241442857143 < 3.876709878452381.
IsChangePoint: Marked as a change because one of 6/6/2022 7:24:37 AM, 6/13/2022 4:43:40 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.539130596872711 (T) = (0 -2852.854869256112) / Math.Sqrt((287963.9764164922 / (299)) + (26294.543221736847 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08337149771234338 = (3112.334890455794 - 2852.854869256112) / 3112.334890455794 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.MemoryMarshal<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetReference - Duration of single invocation 5.57 ns 0.00 ns 0.00 0.05 False
AsBytes - Duration of single invocation 10.98 ns 0.01 ns 0.00 0.11 False
CastToByte - Duration of single invocation 9.91 ns 0.23 ns 0.02 0.17 False
Read - Duration of single invocation 2.89 ns 1.05 ns 0.36 0.28 False
CastToInt - Duration of single invocation 9.70 ns 0.01 ns 0.00 0.17 False

graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.MemoryMarshal&lt;Int32&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.MemoryMarshal<Int32>.GetReference


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 0 < 2.646363494284817.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.031723006807263 (T) = (0 -0.006784729581044015) / Math.Sqrt((1.6355070611050404 / (299)) + (0.0019793998859794285 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9778435168829469 = (0.30621870561316883 - 0.006784729581044015) / 0.30621870561316883 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.MemoryMarshal&lt;Int32&gt;.AsBytes

```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 0.01403374998170082 < 5.325523611220116.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.093548494582588 (T) = (0 -0.005619877260524422) / Math.Sqrt((5.990697424704883 / (299)) + (4.503218214848002E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9922657193917381 = (0.7266192610753146 - 0.005619877260524422) / 0.7266192610753146 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.MemoryMarshal&lt;Int32&gt;.CastToByte

```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 0.23023353543892547 < 4.823230334478893.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.6527158741321815 (T) = (0 -0.09649514797816448) / Math.Sqrt((4.830762229762711 / (299)) + (0.013240391301953282 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.8608578799644736 = (0.6935006305317681 - 0.09649514797816448) / 0.6935006305317681 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.MemoryMarshal&lt;Int32&gt;.Read

```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 1.0512920378300712 < 1.8871541034865496.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.48702348406982 (T) = (0 -1.090061302023068) / Math.Sqrt((0.4759634444466656 / (299)) + (0.0009170593305186094 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1418731045386826 = (1.270279847640792 - 1.090061302023068) / 1.270279847640792 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.MemoryMarshal&lt;Int32&gt;.CastToInt

```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 0.013893792789717049 < 4.589338653011704.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.105079361018184 (T) = (0 -0.011753562271766186) / Math.Sqrt((4.7461181430771155 / (299)) + (0.0016169648381342474 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.9778051215224025 = (0.5295619114846561 - 0.011753562271766186) / 0.5295619114846561 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Depth

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadSpanEmptyLoop - Duration of single invocation 4.51 μs 2.07 μs 0.46 0.01 False
ReadSpanEmptyLoop - Duration of single invocation 4.59 μs 2.13 μs 0.46 0.01 False
ReadSpanEmptyLoop - Duration of single invocation 36.56 μs 18.11 μs 0.50 0.01 False

graph
graph
graph
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_Depth*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth: 64)


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.0716578574914593 < 3.1288103832701175.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.086309730374994 (T) = (0 -2085.7729949566324) / Math.Sqrt((303487.8470921401 / (299)) + (116.93203442927472 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05882356405554947 = (2216.1338887151414 - 2085.7729949566324) / 2216.1338887151414 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth: 65)

```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 2.1297924652899054 < 3.1826435001456272.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.267611189886814 (T) = (0 -2121.4888967854235) / Math.Sqrt((310449.9156447786 / (299)) + (102.43727295033925 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.060939051923531294 = (2259.1599630790615 - 2121.4888967854235) / 2259.1599630790615 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth: 512)

```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 18.11306718155107 < 25.999164019214906.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.945552968421047 (T) = (0 -18054.38591163697) / Math.Sqrt((17719358.473592415 / (299)) + (22722.326371615854 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05072624378668087 = (19019.15626916354 - 18054.38591163697) / 19019.15626916354 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Xml.Tests.Perf_XmlConvert

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TimeSpan_ToString - Duration of single invocation 159.27 ns 58.25 ns 0.37 0.04 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Xml.Tests.Perf_XmlConvert*'

Payloads

Baseline
Compare

Histogram

System.Xml.Tests.Perf_XmlConvert.TimeSpan_ToString


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 58.24764029597883 < 103.69195996867508.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.186301557862673 (T) = (0 -58.52198949454929) / Math.Sqrt((534.1099054538936 / (299)) + (0.8078183915741273 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08768176538816048 = (64.14646476889548 - 58.52198949454929) / 64.14646476889548 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.IO.Tests.Perf_StreamWriter

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteFormat - Duration of single invocation 104.49 ns 40.43 ns 0.39 0.12 False
WritePartialCharArray - Duration of single invocation 325.06 ms 84.97 ms 0.26 0.01 False
WriteString - Duration of single invocation 242.13 ms 73.94 ms 0.31 0.06 False
WriteCharArray - Duration of single invocation 216.88 ms 80.40 ms 0.37 0.06 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.IO.Tests.Perf_StreamWriter*'

Payloads

Baseline
Compare

Histogram

System.IO.Tests.Perf_StreamWriter.WriteFormat


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 40.42899056908157 < 70.57931123040026.
IsChangePoint: Marked as a change because one of 6/6/2022 10:51:35 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 13.669055993256523 (T) = (0 -41.580177130054516) / Math.Sqrt((227.67353127705252 / (299)) + (1.4751460887705392 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.22675593019939064 = (53.77367736008177 - 41.580177130054516) / 53.77367736008177 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.Perf_StreamWriter.WritePartialCharArray(writeLength: 2)

```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 84.96568363333334 < 191.45297527937498.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9739667325337305 (T) = (0 -85212453.27641195) / Math.Sqrt((2902731217769241 / (299)) + (583896197723.8029 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.12694972027304516 = (97603145.26565643 - 85212453.27641195) / 97603145.26565643 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.Perf_StreamWriter.WriteString(writeLength: 2)

```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 73.94082110714285 < 148.96724976605768.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.2605357316369386 (T) = (0 -74047999.02354023) / Math.Sqrt((1394445055785131.5 / (299)) + (42536292907.72362 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11053298431269644 = (83249853.80860054 - 74047999.02354023) / 83249853.80860054 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.Perf_StreamWriter.WriteCharArray(writeLength: 2)

```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 80.40179666249999 < 138.70014427333334.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.4516135775321457 (T) = (0 -75677424.31520297) / Math.Sqrt((1077730043024775.1 / (299)) + (4656529655081.077 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08078319612497235 = (82328155.87811176 - 75677424.31520297) / 82328155.87811176 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_Enum

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParseGeneric - Duration of single invocation 454.06 ns 110.03 ns 0.24 0.02 False
TryParseGeneric - Duration of single invocation 107.07 ns 44.30 ns 0.41 0.12 False
Parse - Duration of single invocation 505.85 ns 165.75 ns 0.33 0.01 False

graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Enum*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Enum.TryParseGeneric(text: "Red, Orange, Yellow, Green, Blue")


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 110.02882863747456 < 266.82045533689455.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.155735101315002 (T) = (0 -108.17275780386937) / Math.Sqrt((5980.6574317010445 / (299)) + (3.6096115637796506 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.17601185982038725 = (131.2795081981276 - 108.17275780386937) / 131.2795081981276 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Enum.TryParseGeneric(text: "Red")

```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 44.30498835378008 < 74.00722586540188.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.087942834524061 (T) = (0 -45.082472180306944) / Math.Sqrt((205.7919784886591 / (299)) + (1.8683313551804905 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07198217991139795 = (48.579317341128984 - 45.082472180306944) / 48.579317341128984 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Enum.Parse(text: "Red, Orange, Yellow, Green, Blue")

```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 165.7454355857066 < 321.01874806835855.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.62145790741657 (T) = (0 -168.82539302312648) / Math.Sqrt((5680.886067050633 / (299)) + (11.284876386132717 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1072555410729451 = (189.1083067891895 - 168.82539302312648) / 189.1083067891895 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_Boolean

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Parse - Duration of single invocation 27.12 ns 2.66 ns 0.10 0.07 False
TryParse - Duration of single invocation 84.41 ns 9.55 ns 0.11 0.06 False
TryParse - Duration of single invocation 23.60 ns 1.29 ns 0.05 0.06 False
TryParse - Duration of single invocation 23.17 ns 1.29 ns 0.06 0.06 False
Parse - Duration of single invocation 86.18 ns 10.50 ns 0.12 0.04 False
Parse - Duration of single invocation 30.09 ns 4.56 ns 0.15 0.02 False
Parse - Duration of single invocation 29.90 ns 4.56 ns 0.15 0.03 False
TryParse - Duration of single invocation 26.44 ns 4.15 ns 0.16 0.11 False
Parse - Duration of single invocation 27.07 ns 2.66 ns 0.10 0.07 False
TryParse - Duration of single invocation 26.20 ns 4.15 ns 0.16 0.13 False
TryParse - Duration of single invocation 59.54 ns 6.29 ns 0.11 0.02 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Boolean*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Boolean.Parse(value: "true")


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.662041545754946 < 13.944546566555486.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.3969050873481175 (T) = (0 -2.634388418238334) / Math.Sqrt((31.01614301295635 / (299)) + (0.009639081281161074 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2936598357496922 = (3.729631347007443 - 2.634388418238334) / 3.729631347007443 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Boolean.TryParse(value: " True ")

```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 9.547793136516864 < 43.938362597792356.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.559652603288998 (T) = (0 -9.568275190679504) / Math.Sqrt((277.76785993220955 / (299)) + (0.0243360607096522 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3148091288291232 = (13.964393854706382 - 9.568275190679504) / 13.964393854706382 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Boolean.TryParse(value: "true")

```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 1.2938297789957456 < 11.774918176460012.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.2415840794720285 (T) = (0 -1.3033100593081557) / Math.Sqrt((25.13222805768795 / (299)) + (0.0014586377111085469 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.4855253049848381 = (2.533283117588021 - 1.3033100593081557) / 2.533283117588021 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Boolean.TryParse(value: "TRUE")

```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 1.2940244060656092 < 11.657082075840474.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.269362595306557 (T) = (0 -1.2979811414622282) / Math.Sqrt((25.130000359369667 / (299)) + (0.00043893631938400027 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.4881333716002016 = (2.535779965808647 - 1.2979811414622282) / 2.535779965808647 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Boolean.Parse(value: " True ")

```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 10.504224144041228 < 45.60808428896018.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.57086020356739 (T) = (0 -10.583054154512483) / Math.Sqrt((308.3217110353735 / (299)) + (0.03902141024650052 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2552780429575693 = (14.210745439199547 - 10.583054154512483) / 14.210745439199547 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Boolean.Parse(value: "False")

```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 4.557261769513215 < 16.25377118965665.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.79818298662031 (T) = (0 -4.536078023251229) / Math.Sqrt((33.172796048250376 / (299)) + (0.003358051512655514 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.21813893756777752 = (5.801642057912879 - 4.536078023251229) / 5.801642057912879 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Boolean.Parse(value: "false")

```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 4.556867342520178 < 16.25273415926957.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8067839822594793 (T) = (0 -4.536256182033247) / Math.Sqrt((33.18720912808036 / (299)) + (0.0033919787888036447 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2185559334197887 = (5.804965929148332 - 4.536256182033247) / 5.804965929148332 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Boolean.TryParse(value: "false")

```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 4.148877171847377 < 14.409415867668287.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8086722297755964 (T) = (0 -4.134145390715326) / Math.Sqrt((25.33258919975897 / (299)) + (0.0038763398327168034 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2115438938363744 = (5.243342474485677 - 4.134145390715326) / 5.243342474485677 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Boolean.Parse(value: "TRUE")

```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 2.6602037213622536 < 13.943689866981977.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.4000648810987664 (T) = (0 -2.633453314280627) / Math.Sqrt((31.039590221840236 / (299)) + (0.009493371092704001 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2940012735129062 = (3.73011057312264 - 2.633453314280627) / 3.73011057312264 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Boolean.TryParse(value: "False")

```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 4.154887753692886 < 14.3052682393559.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8400038313355576 (T) = (0 -4.133521512964297) / Math.Sqrt((25.168616768971646 / (299)) + (0.003968957035046466 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.21239796154938295 = (5.24823617914426 - 4.133521512964297) / 5.24823617914426 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Boolean.TryParse(value: "Bogus")

```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 6.2906184365559765 < 30.93137196638753.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.405364712308886 (T) = (0 -6.335378379441431) / Math.Sqrt((140.42478719698252 / (299)) + (0.01656452348608077 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.32282872436577686 = (9.355651380085282 - 6.335378379441431) / 9.355651380085282 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DeserializeFromString - Duration of single invocation 424.81 ns 281.85 ns 0.66 0.04 False
DeserializeFromUtf8Bytes - Duration of single invocation 361.05 ns 230.68 ns 0.64 0.05 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;SimpleStructWithProperties&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromString


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 281.84715173539877 < 333.74473747925197.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 11.328076048366913 (T) = (0 -280.00004335863423) / Math.Sqrt((859.9380119616815 / (299)) + (27.125959080968908 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07042745449489246 = (301.2137618656636 - 280.00004335863423) / 301.2137618656636 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;SimpleStructWithProperties&gt;.DeserializeFromUtf8Bytes

```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 230.67845961738144 < 279.1003847883318.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.014774266331605 (T) = (0 -232.26026235762512) / Math.Sqrt((609.9029554763946 / (299)) + (13.212764398947995 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07343150648026009 = (250.6671271276903 - 232.26026235762512) / 250.6671271276903 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Count - Duration of single invocation 181.29 ms 10.50 ms 0.06 0.01 False
Count - Duration of single invocation 68.75 ms 46.66 ms 0.68 0.10 False
Count - Duration of single invocation 2.71 secs 280.37 ms 0.10 0.02 False
Count - Duration of single invocation 2.64 secs 290.63 ms 0.11 0.01 False

graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig*'

Payloads

Baseline
Compare

Histogram

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "\p{Sm}", Options: Compiled)


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 10.503050988839286 < 91.10239373331473.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.104059812609571 (T) = (0 -10501591.349252759) / Math.Sqrt((1428196794970588.2 / (299)) + (36928426.32448684 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.4606595232144439 = (19471172.29517382 - 10501591.349252759) / 19471172.29517382 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "Tom.{10,25}river|river.{10,25}Tom", Options: None)

```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 46.661789799999994 < 54.060571274999994.
IsChangePoint: Marked as a change because one of 5/24/2022 3:42:52 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 9.32664929202464 (T) = (0 -44898248.440480456) / Math.Sqrt((36372955236085.484 / (299)) + (477561822887.6218 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07036154888865398 = (48296462.33630545 - 44898248.440480456) / 48296462.33630545 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: ".{0,2}(Tom|Sawyer|Huckleberry|Finn)", Options: Compiled)

```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 280.36949341666667 < 1.4214355699732142.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.151479099574483 (T) = (0 -280557658.97863954) / Math.Sqrt((3.0179118196069114E+17 / (299)) + (227302743159.4257 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3197788188113257 = (412450636.25976783 - 280557658.97863954) / 412450636.25976783 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: ".{2,4}(Tom|Sawyer|Huckleberry|Finn)", Options: Compiled)

```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 290.63307146666665 < 1.392475779838077.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.105556920593004 (T) = (0 -290749360.9305478) / Math.Sqrt((2.8627867236701347E+17 / (299)) + (1317592319221.4583 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3040754307195956 = (417788613.5435434 - 290749360.9305478) / 417788613.5435434 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements 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 10.20 ms 3.84 ms 0.38 0.04 False
WriteGuids - Duration of single invocation 10.46 ms 3.77 ms 0.36 0.04 False
WriteGuids - Duration of single invocation 9.06 ms 3.66 ms 0.40 0.04 False
WriteGuids - Duration of single invocation 9.02 ms 3.63 ms 0.40 0.04 False

graph
graph
graph
graph
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_Guids*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: True, SkipValidation: 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 3.83827141923077 < 6.6007874765625.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.265752065125569 (T) = (0 -3838759.0802087714) / Math.Sqrt((2174420382910.8586 / (299)) + (102961943.99761559 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08657368775827613 = (4202593.059518636 - 3838759.0802087714) / 4202593.059518636 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: True, SkipValidation: True)

```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 3.771260220535714 < 6.706613401953125.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.446260059631933 (T) = (0 -3781988.456276035) / Math.Sqrt((2142510940285.5964 / (299)) + (127538801.88261284 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09052740532064069 = (4158441.3630510774 - 3781988.456276035) / 4158441.3630510774 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: False, SkipValidation: False)

```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 3.6586312615384613 < 6.005507650898237.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.928441468703872 (T) = (0 -3660466.006733592) / Math.Sqrt((1487245223272.9062 / (299)) + (122571599.355997 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08674517057452205 = (4008154.010021896 - 3660466.006733592) / 4008154.010021896 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: False, SkipValidation: True)

```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 3.6295960625 < 5.8669928683587065.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.5638637979083128 (T) = (0 -3644328.788037845) / Math.Sqrt((1462818608498.6907 / (299)) + (10564424970.303745 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06550576384627431 = (3899787.336343022 - 3644328.788037845) / 3899787.336343022 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Collections.Concurrent.IsEmpty<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Dictionary - Duration of single invocation 17.01 ns 1.93 ns 0.11 0.63 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.Concurrent.IsEmpty&lt;String&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.IsEmpty<String>.Dictionary(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 1.926388942358604 < 9.800186994778397.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.7505699941141435 (T) = (0 -2.279388183148229) / Math.Sqrt((11.75580558050618 / (299)) + (0.289820798984032 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.26096943682861384 = (3.0842948813466373 - 2.279388183148229) / 3.0842948813466373 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_Random

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
NextBytes_unseeded - Duration of single invocation 1.02 μs 124.20 ns 0.12 0.02 False
NextBytes_span_unseeded - Duration of single invocation 959.63 ns 123.27 ns 0.13 0.02 False
ctor_seeded - Duration of single invocation 287.45 ns 266.22 ns 0.93 0.03 False

graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Random*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Random.NextBytes_unseeded


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 124.201894168278 < 513.4417415093498.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.108111217270648 (T) = (0 -124.20635452774081) / Math.Sqrt((36123.418071949476 / (299)) + (0.2878392051800972 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2666225082220382 = (169.3621033100177 - 124.20635452774081) / 169.3621033100177 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Random.NextBytes_span_unseeded

```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 123.26979233394722 < 513.134859536324.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.113821739321522 (T) = (0 -123.19894002838235) / Math.Sqrt((37422.436123958345 / (299)) + (0.023780916119452527 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2719691635013719 = (169.22214534330993 - 123.19894002838235) / 169.22214534330993 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Random.ctor_seeded

```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 266.223754176426 < 273.06315124682175.
IsChangePoint: Marked as a change because one of 5/20/2022 10:18:01 PM, 5/25/2022 1:42:32 AM, 5/31/2022 6:06:22 PM, 6/6/2022 10:12:27 PM, 6/20/2022 2:50:37 PM, 6/23/2022 8:35:19 AM, 7/6/2022 7:05:00 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 18.383601308902243 (T) = (0 -266.90131576063203) / Math.Sqrt((92.47647600968094 / (299)) + (13.014597799719498 / (39))) is greater than 1.9670493839589689 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (39) - 2, .975) and 0.05234022885249464 = (281.6425513530512 - 266.90131576063203) / 281.6425513530512 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DeserializeFromUtf8Bytes - Duration of single invocation 223.94 ns 121.48 ns 0.54 0.05 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Nullable&lt;DateTimeOffset&gt;&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromUtf8Bytes


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 121.47715686226294 < 165.1324134579249.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.297557807457525 (T) = (0 -122.37442337958846) / Math.Sqrt((493.90305911741984 / (299)) + (7.568827226149396 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06504931593519875 = (130.88863986659933 - 122.37442337958846) / 130.88863986659933 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.Span<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
StartsWith - Duration of single invocation 19.27 ns 5.85 ns 0.30 0.10 False
EndsWith - Duration of single invocation 21.91 ns 5.98 ns 0.27 0.19 False
Reverse - Duration of single invocation 17.57 ns 8.85 ns 0.50 0.14 False

graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Span&lt;Byte&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Span<Byte>.StartsWith(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 5.8474124859649415 < 11.87451989988634.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.0755069033812186 (T) = (0 -5.878082239725978) / Math.Sqrt((10.048267419289331 / (299)) + (0.03814414511128607 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.061541900224993694 = (6.263553206195607 - 5.878082239725978) / 6.263553206195607 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Byte&gt;.EndsWith(Size: 512)

```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 5.979848107350284 < 13.304271338696141.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.0874108623620184 (T) = (0 -6.15468270765596) / Math.Sqrt((11.648397728517663 / (299)) + (0.042119670217871254 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11716834692975261 = (6.971524736626348 - 6.15468270765596) / 6.971524736626348 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Byte&gt;.Reverse(Size: 512)

```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 8.850993975483417 < 11.832878959842423.
IsChangePoint: Marked as a change because one of 5/20/2022 9:09:19 PM, 5/23/2022 1:47:22 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/7/2022 7:02:29 PM, 7/9/2022 7:52:53 PM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.629486024123492 (T) = (0 -8.962973341441273) / Math.Sqrt((3.6987126493154348 / (299)) + (0.12369384277532232 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.0827227695849312 = (9.771280747245322 - 8.962973341441273) / 9.771280747245322 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Deep

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteDeepUtf16 - Duration of single invocation 9.80 ms 3.24 ms 0.33 0.02 False
WriteDeepUtf16 - Duration of single invocation 9.59 ms 3.10 ms 0.32 0.01 False
WriteDeepUtf8 - Duration of single invocation 9.82 ms 3.32 ms 0.34 0.04 False
WriteDeepUtf8 - Duration of single invocation 10.43 ms 3.00 ms 0.29 0.10 False

graph
graph
graph
graph
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_Deep*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Deep.WriteDeepUtf16(Formatted: False, SkipValidation: 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 3.2448121628571425 < 6.15322528867848.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.5024099916717786 (T) = (0 -3231561.081806074) / Math.Sqrt((2349950164939.477 / (299)) + (1404367117.3209293 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08782663095800686 = (3542704.9193510325 - 3231561.081806074) / 3542704.9193510325 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Deep.WriteDeepUtf16(Formatted: False, SkipValidation: True)

```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 3.1041614600823046 < 5.98188303068304.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.9280582946562843 (T) = (0 -3063945.5097675477) / Math.Sqrt((2337750334769.722 / (299)) + (1798979521.300635 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07810891623484983 = (3323543.9237072407 - 3063945.5097675477) / 3323543.9237072407 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Deep.WriteDeepUtf8(Formatted: False, SkipValidation: False)

```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 3.320967961777778 < 6.275946716558881.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.7398019223526284 (T) = (0 -3264627.50000522) / Math.Sqrt((2330617289346.8823 / (299)) + (5478151342.998985 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09252709829108242 = (3597493.097432883 - 3264627.50000522) / 3597493.097432883 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Deep.WriteDeepUtf8(Formatted: False, SkipValidation: True)

```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 2.9978193747967476 < 6.061694152947052.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.5645299109519657 (T) = (0 -3060101.809757437) / Math.Sqrt((2280255125942.8022 / (299)) + (6619566669.588642 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09317232738490278 = (3374513.043843002 - 3060101.809757437) / 3374513.043843002 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.Slice<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
MemorySpanStartLength - Duration of single invocation 12.27 ns 4.99 ns 0.41 0.02 False
ReadOnlyMemorySpanStartLength - Duration of single invocation 12.22 ns 5.00 ns 0.41 0.01 False
ReadOnlyMemorySpanStart - Duration of single invocation 12.00 ns 4.82 ns 0.40 0.01 False
MemorySpanStart - Duration of single invocation 12.06 ns 5.10 ns 0.42 0.01 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Slice&lt;String&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Slice<String>.MemorySpanStartLength


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.986245829853681 < 8.106040958997704.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.17253252104641 (T) = (0 -5.004966685627171) / Math.Sqrt((2.479955107668458 / (299)) + (0.001308676832955094 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10114271111043598 = (5.568143850521853 - 5.004966685627171) / 5.568143850521853 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;String&gt;.ReadOnlyMemorySpanStartLength

```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 5.001348855021883 < 8.059632732464708.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8440724707135097 (T) = (0 -4.987202008308746) / Math.Sqrt((2.6039324773626555 / (299)) + (0.0002285162041293198 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0671229087584665 = (5.346044034237622 - 4.987202008308746) / 5.346044034237622 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;String&gt;.ReadOnlyMemorySpanStart

```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 4.817356738240508 < 7.889767784674731.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.9763817440470794 (T) = (0 -4.819377735197294) / Math.Sqrt((2.8320047388145593 / (299)) + (1.8509334819617037E-05 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07433165124100731 = (5.206376281157766 - 4.819377735197294) / 5.206376281157766 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;String&gt;.MemorySpanStart

```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 5.095277937005529 < 8.037623113802585.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.251525234340891 (T) = (0 -5.058628527750168) / Math.Sqrt((2.300786509488356 / (299)) + (0.0019875219703498373 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09806854739688033 = (5.608661848026421 - 5.058628527750168) / 5.608661848026421 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Booleans

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteBooleans - Duration of single invocation 4.27 ms 1.40 ms 0.33 0.02 False
WriteBooleans - Duration of single invocation 4.18 ms 1.49 ms 0.36 0.03 False
WriteBooleans - Duration of single invocation 2.96 ms 1.11 ms 0.37 0.03 False
WriteBooleans - Duration of single invocation 3.02 ms 1.23 ms 0.41 0.01 False

graph
graph
graph
graph
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_Booleans*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted: True, SkipValidation: True)


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.3984151197916668 < 2.6149499666861784.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.408496489868353 (T) = (0 -1400169.1294766737) / Math.Sqrt((386383587896.9041 / (299)) + (206703753.77161598 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.1018453351738118 = (1558939.8845327334 - 1400169.1294766737) / 1558939.8845327334 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted: True, SkipValidation: False)

```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 1.4938948011363635 < 2.683079648153409.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.403739071325041 (T) = (0 -1493840.8307775555) / Math.Sqrt((383701117816.432 / (299)) + (12328104.497732783 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09552623733494814 = (1651613.227979019 - 1493840.8307775555) / 1651613.227979019 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted: False, SkipValidation: True)

```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 1.1069773322222225 < 1.933638086578125.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.058856394515038 (T) = (0 -1108727.841184513) / Math.Sqrt((186785360318.47687 / (299)) + (7769611.58187831 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08383954214017098 = (1210189.5816094547 - 1108727.841184513) / 1210189.5816094547 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted: False, SkipValidation: False)

```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 1.2330122132554946 < 2.0327447890247257.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.581192709852657 (T) = (0 -1235153.1910457497) / Math.Sqrt((166293010210.14722 / (299)) + (19657512.225225396 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08046479623226921 = (1343236.437261778 - 1235153.1910457497) / 1343236.437261778 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
XmlSerializer_ - Duration of single invocation 636.07 μs 252.28 μs 0.40 0.01 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;MyEventsListerViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_ToStream<MyEventsListerViewModel>.XmlSerializer_


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 252.28398935185183 < 424.21341946004094.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.21678152630323 (T) = (0 -249895.18102609972) / Math.Sqrt((7268208398.686319 / (299)) + (3324644.2216764973 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0934548566583063 = (275656.6320624031 - 249895.18102609972) / 275656.6320624031 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.WriteJson<Location>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToString - Duration of single invocation 1.41 μs 627.27 ns 0.44 0.04 False
SerializeToStream - Duration of single invocation 1.54 μs 739.02 ns 0.48 0.02 False
SerializeObjectProperty - Duration of single invocation 1.60 μs 811.70 ns 0.51 0.02 False
SerializeToUtf8Bytes - Duration of single invocation 1.47 μs 583.99 ns 0.40 0.03 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Location&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToString


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 627.2669483347639 < 0.9654771448297751.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.925581928600738 (T) = (0 -630.5222802530319) / Math.Sqrt((31836.591652596733 / (299)) + (45.54668159070878 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07493848441450521 = (681.6003796828132 - 630.5222802530319) / 681.6003796828132 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;Location&gt;.SerializeToStream

```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 739.0217730675785 < 1.0996951567157685.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.171089595214696 (T) = (0 -752.4101914423142) / Math.Sqrt((31970.174174670356 / (299)) + (94.12776401816798 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05473749118282186 = (795.9801477621459 - 752.4101914423142) / 795.9801477621459 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;Location&gt;.SerializeObjectProperty

```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 811.7000237718348 < 1.14469178513038.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.970481112282396 (T) = (0 -803.2915007894369) / Math.Sqrt((34451.041471227625 / (299)) + (180.5854390288168 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06333572140645029 = (857.6087709842218 - 803.2915007894369) / 857.6087709842218 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;Location&gt;.SerializeToUtf8Bytes

```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 583.9851146920548 < 0.9513858779988106.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.512937968268509 (T) = (0 -585.1657097153609) / Math.Sqrt((34726.694650759135 / (299)) + (50.606669787846265 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.07709446526686269 = (634.0472428573792 - 585.1657097153609) / 634.0472428573792 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DataContractSerializer_ - Duration of single invocation 3.90 μs 2.83 μs 0.72 0.04 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;LoginViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>.DataContractSerializer_


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.8267157314109133 < 3.1749143549405874.
IsChangePoint: Marked as a change because one of 5/20/2022 10:46:48 AM, 5/27/2022 11:47:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.93869790815406 (T) = (0 -2805.648663532783) / Math.Sqrt((73350.34349554247 / (299)) + (1313.4857967759358 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05025687479950907 = (2954.1131586927886 - 2805.648663532783) / 2954.1131586927886 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_Array

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ArrayAssign3D - Duration of single invocation 1.11 ms 547.98 μs 0.49 0.04 False
ArrayAssign2D - Duration of single invocation 1.05 ms 518.44 μs 0.49 0.07 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Array*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Array.ArrayAssign3D


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 547.9847958743842 < 797.6955765162013.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.85481164845117 (T) = (0 -545794.6908258758) / Math.Sqrt((19515761224.321335 / (299)) + (45430199.498713695 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06754814561006696 = (585332.838640734 - 545794.6908258758) / 585332.838640734 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Array.ArrayAssign2D

```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 518.439508219603 < 738.4339702292701.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.298063018413689 (T) = (0 -507454.91423900705) / Math.Sqrt((14874431110.54833 / (299)) + (496396445.26544064 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06218587254481358 = (541103.9345461938 - 507454.91423900705) / 541103.9345461938 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToString - Duration of single invocation 501.92 ns 287.16 ns 0.57 0.05 False
SerializeToUtf8Bytes - Duration of single invocation 457.39 ns 253.77 ns 0.55 0.05 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;LoginViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeToString


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 287.1556864165501 < 372.3511261651842.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.52651848138991 (T) = (0 -286.1940990644814) / Math.Sqrt((2282.522491726622 / (299)) + (13.548733079034315 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06041066556985543 = (304.5948783976528 - 286.1940990644814) / 304.5948783976528 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.WriteJson&lt;LoginViewModel&gt;.SerializeToUtf8Bytes

```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 253.76816768124039 < 338.39587620885754.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 6.02674393199887 (T) = (0 -255.29036332813553) / Math.Sqrt((2146.357311926802 / (299)) + (14.334618822674477 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06077046021801005 = (271.808277439179 - 255.29036332813553) / 271.808277439179 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Net.Tests.Perf_WebUtility

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
HtmlDecode_Entities - Duration of single invocation 551.19 ns 123.24 ns 0.22 0.02 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Net.Tests.Perf_WebUtility*'

Payloads

Baseline
Compare

Histogram

System.Net.Tests.Perf_WebUtility.HtmlDecode_Entities


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 123.2415522087614 < 316.8464182569465.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.1580563170756504 (T) = (0 -119.66016274058528) / Math.Sqrt((9857.034558978768 / (299)) + (14.120883496993832 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.13215995720646156 = (137.8827397217171 - 119.66016274058528) / 137.8827397217171 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Tests.Utf8JsonReaderCommentsTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Utf8JsonReaderCommentParsing - Duration of single invocation 18.20 μs 8.97 μs 0.49 0.01 False
Utf8JsonReaderCommentParsing - Duration of single invocation 17.79 μs 8.94 μs 0.50 0.01 False

graph
graph
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.Utf8JsonReaderCommentsTests*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 100, TestCase: LongMultiLine)


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 8.96596545138889 < 12.970986396351043.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.171460667152536 (T) = (0 -9073.634944106323) / Math.Sqrt((4206107.795458329 / (299)) + (5008.643723037591 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05191007013109153 = (9570.43699995941 - 9073.634944106323) / 9570.43699995941 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Skip, SegmentSize: 100, TestCase: LongMultiLine)

```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 8.943253058815111 < 12.77322032402937.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.134424224213734 (T) = (0 -9016.324161010585) / Math.Sqrt((4153480.0462101186 / (299)) + (6936.446713724351 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0515555014825445 = (9506.43308607335 - 9016.324161010585) / 9506.43308607335 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_UInt64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParseHex - Duration of single invocation 193.86 ns 21.16 ns 0.11 0.01 False
TryFormat - Duration of single invocation 11.57 ns 1.95 ns 0.17 0.05 False
TryParseHex - Duration of single invocation 58.37 ns 8.91 ns 0.15 0.02 False

graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_UInt64*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_UInt64.TryParseHex(value: "FFFFFFFFFFFFFFFF")


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 21.15584491557093 < 99.08202033825742.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.40040180727585 (T) = (0 -21.41582590974554) / Math.Sqrt((1494.7811737445406 / (299)) + (0.10236480846737733 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2620476742513173 = (29.020609004813842 - 21.41582590974554) / 29.020609004813842 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_UInt64.TryFormat(value: 0)

```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 1.947649554820731 < 6.523385574226109.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.3483421981510864 (T) = (0 -1.9477843628188016) / Math.Sqrt((4.824920606640823 / (299)) + (0.0013513949398162753 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.17937628190083696 = (2.373541392796344 - 1.9477843628188016) / 2.373541392796344 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_UInt64.TryParseHex(value: "3039")

```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 8.905771537389047 < 30.829686417910725.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.2922437968376426 (T) = (0 -8.883851324715202) / Math.Sqrt((125.18459831467271 / (299)) + (0.0013787389294766907 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.19341757935149026 = (11.014189123502584 - 8.883851324715202) / 11.014189123502584 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Base64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteByteArrayAsBase64_HeavyEscaping - Duration of single invocation 129.76 ns 66.79 ns 0.51 0.15 False
WriteByteArrayAsBase64_NoEscaping - Duration of single invocation 128.81 ns 63.71 ns 0.49 0.18 False

graph
graph
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_HeavyEscaping(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 66.7898101778888 < 95.45288896188592.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.430555975581142 (T) = (0 -63.49018664595235) / Math.Sqrt((218.44683717435632 / (299)) + (2.3800794167612485 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05826094005089952 = (67.41802410678802 - 63.49018664595235) / 67.41802410678802 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_NoEscaping(NumberOfBytes: 100)

```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 63.710241395082186 < 90.67253432387542.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.173126031366361 (T) = (0 -63.704281768686215) / Math.Sqrt((219.04536506178394 / (299)) + (2.668521912812921 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05517384277020348 = (67.42434180216323 - 63.704281768686215) / 67.42434180216323 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Memory.Span<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IndexOfAnyTwoValues - Duration of single invocation 18.32 ns 9.85 ns 0.54 0.07 False
IndexOfAnyThreeValues - Duration of single invocation 21.41 ns 12.50 ns 0.58 0.14 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Span&lt;Char&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Span<Char>.IndexOfAnyTwoValues(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 9.849961495513186 < 13.724629598032166.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.894996724767916 (T) = (0 -10.340509502746539) / Math.Sqrt((3.019104450816499 / (299)) + (0.15041617187528752 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.062328702262658436 = (11.02786181863391 - 10.340509502746539) / 11.02786181863391 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Char&gt;.IndexOfAnyThreeValues(Size: 512)

```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 12.503657969969959 < 16.373625697706846.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 7.308389164622449 (T) = (0 -12.485438807638944) / Math.Sqrt((3.6865128480328315 / (299)) + (0.023100605349676347 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06226332462140238 = (13.314440114649594 - 12.485438807638944) / 13.314440114649594 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToStream - Duration of single invocation 24.73 μs 12.45 μs 0.50 0.01 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;IndexViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToStream


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 12.453013964655076 < 17.629721144573434.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.512142978626842 (T) = (0 -12547.633545544568) / Math.Sqrt((7382697.824956265 / (299)) + (16275.448902575814 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05387003087871444 = (13262.061191443003 - 12547.633545544568) / 13262.061191443003 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

@performanceautofiler
Copy link
Author

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Globalization.Tests.StringSearch

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IsSuffix_SecondHalf - Duration of single invocation 1.43 μs 133.26 ns 0.09 0.01 False
IsPrefix_FirstHalf - Duration of single invocation 1.40 μs 131.04 ns 0.09 0.01 False
IsPrefix_DifferentFirstChar - Duration of single invocation 45.70 ns 7.27 ns 0.16 0.10 False
IsPrefix_DifferentFirstChar - Duration of single invocation 45.66 ns 7.23 ns 0.16 0.11 False
IsSuffix_DifferentLastChar - Duration of single invocation 47.08 ns 7.72 ns 0.16 0.11 False
IsSuffix_SecondHalf - Duration of single invocation 1.40 μs 115.25 ns 0.08 0.01 False
LastIndexOf_Word_NotFound - Duration of single invocation 39.51 ns 22.28 ns 0.56 0.15 False
IsSuffix_DifferentLastChar - Duration of single invocation 109.65 ns 90.01 ns 0.82 0.02 False
IndexOf_Word_NotFound - Duration of single invocation 1.89 μs 660.76 ns 0.35 0.04 False
IsPrefix_FirstHalf - Duration of single invocation 1.43 μs 156.08 ns 0.11 0.01 False
IsPrefix_FirstHalf - Duration of single invocation 1.47 μs 156.20 ns 0.11 0.01 False
LastIndexOf_Word_NotFound - Duration of single invocation 1.89 μs 679.67 ns 0.36 0.04 False
IsSuffix_SecondHalf - Duration of single invocation 1.48 μs 133.37 ns 0.09 0.01 False
IsPrefix_FirstHalf - Duration of single invocation 65.94 ns 46.06 ns 0.70 0.02 False
IsSuffix_SecondHalf - Duration of single invocation 66.56 ns 46.81 ns 0.70 0.03 False
IndexOf_Word_NotFound - Duration of single invocation 1.61 μs 310.86 ns 0.19 0.03 False
IsSuffix_DifferentLastChar - Duration of single invocation 45.50 ns 7.31 ns 0.16 0.11 False
IndexOf_Word_NotFound - Duration of single invocation 1.61 μs 310.64 ns 0.19 0.02 False
IsSuffix_DifferentLastChar - Duration of single invocation 45.68 ns 6.63 ns 0.15 0.10 False
IsPrefix_FirstHalf - Duration of single invocation 1.40 μs 131.09 ns 0.09 0.01 False
IsPrefix_DifferentFirstChar - Duration of single invocation 46.08 ns 7.44 ns 0.16 0.09 False
IndexOf_Word_NotFound - Duration of single invocation 1.61 μs 311.02 ns 0.19 0.02 False
LastIndexOf_Word_NotFound - Duration of single invocation 1.89 μs 680.66 ns 0.36 0.04 False
IsPrefix_FirstHalf - Duration of single invocation 1.45 μs 131.04 ns 0.09 0.01 False
IsPrefix_DifferentFirstChar - Duration of single invocation 27.73 ns 4.98 ns 0.18 0.14 False
IsPrefix_DifferentFirstChar - Duration of single invocation 46.69 ns 7.54 ns 0.16 0.18 False
IsSuffix_SecondHalf - Duration of single invocation 1.40 μs 116.06 ns 0.08 0.01 False
IsSuffix_DifferentLastChar - Duration of single invocation 46.81 ns 7.45 ns 0.16 0.12 False
LastIndexOf_Word_NotFound - Duration of single invocation 1.61 μs 303.35 ns 0.19 0.01 False
IndexOf_Word_NotFound - Duration of single invocation 1.88 μs 661.55 ns 0.35 0.04 False
IsSuffix_SecondHalf - Duration of single invocation 1.40 μs 115.83 ns 0.08 0.01 False
IsPrefix_DifferentFirstChar - Duration of single invocation 26.43 ns 5.47 ns 0.21 0.07 False
IsPrefix_DifferentFirstChar - Duration of single invocation 46.52 ns 7.54 ns 0.16 0.18 False
IsSuffix_DifferentLastChar - Duration of single invocation 45.71 ns 6.63 ns 0.15 0.15 False
LastIndexOf_Word_NotFound - Duration of single invocation 1.78 μs 303.33 ns 0.17 0.02 False
LastIndexOf_Word_NotFound - Duration of single invocation 1.61 μs 303.41 ns 0.19 0.02 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Globalization.Tests.StringSearch*'

Payloads

Baseline
Compare

Histogram

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreCase, 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 133.26217493262135 < 742.4555438226637.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.889481590272091 (T) = (0 -133.2868620681993) / Math.Sqrt((87737.0853666111 / (299)) + (0.042084903077698146 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.38589810220611437 = (217.04355994831187 - 133.2868620681993) / 217.04355994831187 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, None, False))

```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 131.03709405634248 < 728.538556994977.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.017975974703968 (T) = (0 -131.0017965531718) / Math.Sqrt((96293.28208868648 / (299)) + (0.030847525231672283 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.35501282766332104 = (203.10759992105665 - 131.0017965531718) / 203.10759992105665 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, IgnoreNonSpace, False))

```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 7.268098164801927 < 25.480332311062995.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.212875362816753 (T) = (0 -7.165399772917567) / Math.Sqrt((76.74805169826335 / (299)) + (0.0049613549227247936 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.22955041545898675 = (9.300283778057034 - 7.165399772917567) / 9.300283778057034 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, None, False))

```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 7.230837050384813 < 25.14102124750027.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.14357448380667 (T) = (0 -7.212401469900206) / Math.Sqrt((77.16992519412341 / (299)) + (0.019574496843233577 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2260801172949575 = (9.319312801075828 - 7.212401469900206) / 9.319312801075828 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (, IgnoreCase, False))

```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 7.723578984688405 < 25.810816202523217.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.152090276853628 (T) = (0 -7.541700508376055) / Math.Sqrt((81.20836257497679 / (299)) + (0.036468654174244663 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2232216910539771 = (9.70894838529807 - 7.541700508376055) / 9.70894838529807 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, None, False))

```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 115.2539731627822 < 728.5549946420795.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.020299422233152 (T) = (0 -115.47853701465834) / Math.Sqrt((82343.83481010715 / (299)) + (0.04839927219339885 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.4190960200624158 = (198.79109285335943 - 115.47853701465834) / 198.79109285335943 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, Ordinal, False))

```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 22.284697882712603 < 28.37588586733509.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 3.8513119034852688 (T) = (0 -20.48624497139428) / Math.Sqrt((24.25918473057381 / (299)) + (0.32040674267893515 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.052988709030609774 = (21.632524518713947 - 20.48624497139428) / 21.632524518713947 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, OrdinalIgnoreCase, False))

```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 90.01464583030841 < 94.9131695556281.
IsChangePoint: Marked as a change because one of 5/20/2022 10:18:01 PM, 6/27/2022 8:54:23 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 31.43507123417815 (T) = (0 -89.91740083475683) / Math.Sqrt((28.482957671753812 / (299)) + (0.1462080515669852 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.09894514827265659 = (99.7912620551158 - 89.91740083475683) / 99.7912620551158 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, IgnoreCase, False))

```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 660.7601402088956 < 1.2245067886483068.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.834314395505736 (T) = (0 -664.1141788204263) / Math.Sqrt((85617.40742056338 / (299)) + (78.92180582462642 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06755555774670166 = (712.2292210949978 - 664.1141788204263) / 712.2292210949978 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, IgnoreCase, False))

```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 156.075910174269 < 752.3452796199372.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.095990266705354 (T) = (0 -156.12368938006304) / Math.Sqrt((85511.1846259681 / (299)) + (0.010184841025715298 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3073239121255067 = (225.3920585870596 - 156.12368938006304) / 225.3920585870596 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreCase, False))

```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 156.19763047888588 < 752.2966151426924.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.096443514264159 (T) = (0 -156.1022295970739) / Math.Sqrt((86598.40605714015 / (299)) + (0.007731122677529724 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3087232339382411 = (225.8172663409429 - 156.1022295970739) / 225.8172663409429 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreCase, False))

```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 679.6667917134131 < 1.2478911631889236.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.6903218540226814 (T) = (0 -683.051881232554) / Math.Sqrt((84037.69443785847 / (299)) + (237.92508399612785 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06251033747924323 = (728.5967072916185 - 683.051881232554) / 728.5967072916185 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (, IgnoreCase, False))

```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 133.37220099775595 < 741.9478232119588.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.892645232908198 (T) = (0 -133.28399965535166) / Math.Sqrt((87284.59848261264 / (299)) + (0.034470981118848734 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.38544383318066144 = (216.8784675047175 - 133.28399965535166) / 216.8784675047175 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, OrdinalIgnoreCase, False))

```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 46.06109081496645 < 53.087911021750934.
IsChangePoint: Marked as a change because one of 5/20/2022 10:18:01 PM, 6/27/2022 8:54:23 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 25.268930653910814 (T) = (0 -46.09361490721088) / Math.Sqrt((16.97154376107338 / (299)) + (0.0012334009045388626 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11554628595460138 = (52.11535004628282 - 46.09361490721088) / 52.11535004628282 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, OrdinalIgnoreCase, False))

```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 46.80977100680803 < 54.02346808265815.
IsChangePoint: Marked as a change because one of 5/20/2022 10:18:01 PM, 6/27/2022 8:54:23 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 22.964708262936956 (T) = (0 -46.844237599255145) / Math.Sqrt((18.425530888729877 / (299)) + (0.007287080747319154 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.10862637529173937 = (52.552864815342595 - 46.844237599255145) / 52.552864815342595 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, None, False))

```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 310.8570512898394 < 911.6488764925764.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.061778734721643 (T) = (0 -310.786286395247) / Math.Sqrt((88979.73163834776 / (299)) + (1.6509045487236036 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.18398780155252023 = (380.8598535494195 - 310.786286395247) / 380.8598535494195 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (, None, False))

```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 7.309510167993366 < 24.951589247218145.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.70067434952308 (T) = (0 -6.7794198061328155) / Math.Sqrt((75.52028224321216 / (299)) + (0.10560864213928359 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.259346430400545 = (9.153293907432488 - 6.7794198061328155) / 9.153293907432488 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, None, False))

```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 310.6448501442266 < 911.4405137473597.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.058358123819103 (T) = (0 -310.8085354705258) / Math.Sqrt((89145.98828675426 / (299)) + (1.5631996282117775 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.18399016453479683 = (380.88822212949844 - 310.8085354705258) / 380.88822212949844 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, None, False))

```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 6.632935234752754 < 24.96173692375389.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.897245312578913 (T) = (0 -6.680931450647099) / Math.Sqrt((76.15609023116481 / (299)) + (0.01377438277416664 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2701650457245282 = (9.15403052636668 - 6.680931450647099) / 9.15403052636668 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, None, False))

```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 131.08807700325832 < 728.7815727838354.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.083232799214528 (T) = (0 -131.01022582146916) / Math.Sqrt((85962.67550039524 / (299)) + (0.03194809231994681 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.3457502174913703 = (200.2449665617445 - 131.01022582146916) / 200.2449665617445 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (, None, False))

```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 7.436747860890278 < 25.208639566576437.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.2222744465088775 (T) = (0 -7.168012662023096) / Math.Sqrt((77.28884631659733 / (299)) + (0.0048125641616572745 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.23050090119089045 = (9.315167065323974 - 7.168012662023096) / 9.315167065323974 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, IgnoreNonSpace, False))

```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 311.01631614392096 < 911.7764107509275.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.056085167210632 (T) = (0 -310.8718265443211) / Math.Sqrt((92005.50108235047 / (299)) + (1.5505063607083105 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.18625599152487265 = (382.0265627846071 - 310.8718265443211) / 382.0265627846071 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, IgnoreCase, False))

```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 680.6575047637749 < 1.247546804371551.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.6907849032406363 (T) = (0 -682.9878891234138) / Math.Sqrt((84162.14537054944 / (299)) + (239.3686409498566 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06257189265209671 = (728.5762862985499 - 682.9878891234138) / 728.5762862985499 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreNonSpace, False))

```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 131.04145123315524 < 728.4487385609448.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.082597197649642 (T) = (0 -131.00499675204344) / Math.Sqrt((86015.0847591085 / (299)) + (0.030895824336263335 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.34579295870728427 = (200.25005614916196 - 131.00499675204344) / 200.25005614916196 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, Ordinal, False))

```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 4.975559045805887 < 16.153782389494957.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.302511177083995 (T) = (0 -5.119686479175511) / Math.Sqrt((25.34097305118653 / (299)) + (0.220873413577654 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2012525612981464 = (6.409643688493282 - 5.119686479175511) / 6.409643688493282 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, IgnoreCase, False))

```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 7.540889574328083 < 25.63183613124577.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.0580408489541 (T) = (0 -7.571361415131646) / Math.Sqrt((78.94941335727592 / (299)) + (0.0053797716852745986 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.21597912910399192 = (9.657091661958965 - 7.571361415131646) / 9.657091661958965 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreNonSpace, False))

```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 116.05841347836957 < 729.0053405628495.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.019127524886201 (T) = (0 -115.47876067093026) / Math.Sqrt((82403.36393066493 / (299)) + (0.059870194247287664 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.41912679860432794 = (198.80201116778645 - 115.47876067093026) / 198.80201116778645 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, IgnoreCase, False))

```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 7.451341686240094 < 26.312616586168772.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.246597897702335 (T) = (0 -7.500607485313975) / Math.Sqrt((84.11426361731309 / (299)) + (0.007087455933560457 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.23099406099733835 = (9.7536405180975 - 7.500607485313975) / 9.7536405180975 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, None, False))

```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 303.34880909954444 < 908.5017453296947.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.071712355509467 (T) = (0 -303.47957173897845) / Math.Sqrt((100540.6186963138 / (299)) + (0.03552142899524256 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.19744938129590603 = (378.14383873881667 - 303.47957173897845) / 378.14383873881667 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, IgnoreCase, False))

```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 661.5451401583903 < 1.2244033072934826.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 2.850763691262941 (T) = (0 -664.0521393945876) / Math.Sqrt((85534.75650154139 / (299)) + (80.13311472828957 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06789963257091264 = (712.4255741108348 - 664.0521393945876) / 712.4255741108348 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (, None, False))

```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 115.82589301011872 < 728.5663914860386.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.017492557278157 (T) = (0 -115.51457539286449) / Math.Sqrt((82428.6908068469 / (299)) + (0.04615952246063528 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.4190092560637168 = (198.8234349660016 - 115.51457539286449) / 198.8234349660016 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, OrdinalIgnoreCase, False))

```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 5.470442263841344 < 15.261751254443178.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.321274164437743 (T) = (0 -5.512412003019904) / Math.Sqrt((22.2144926157983 / (299)) + (0.008887725528200233 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.20853978596748926 = (6.964863053486945 - 5.512412003019904) / 6.964863053486945 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (, IgnoreCase, False))

```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 7.543841018035251 < 25.710056508343545.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.08665899199664 (T) = (0 -7.5784956414296625) / Math.Sqrt((80.75277304900614 / (299)) + (0.014746499833255933 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.21900433217839207 = (9.703633392190229 - 7.5784956414296625) / 9.703633392190229 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, IgnoreNonSpace, False))

```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 6.6340263697839035 < 25.30343465523908.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.898485432983657 (T) = (0 -6.705192079287604) / Math.Sqrt((75.4112570552779 / (299)) + (0.03299570763460994 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.2687093469960798 = (9.16898370264232 - 6.705192079287604) / 9.16898370264232 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, None, False))

```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 303.33322880263955 < 907.9871505316773.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.13658672592355 (T) = (0 -303.50121007242893) / Math.Sqrt((91707.64505881579 / (299)) + (0.03674642351900316 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.19270097662228441 = (375.9464600893343 - 303.50121007242893) / 375.9464600893343 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreNonSpace, False))

```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 303.40533523738833 < 908.2689699204088.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.139916357268867 (T) = (0 -303.49884014969047) / Math.Sqrt((89025.40771319617 / (299)) + (0.032470009257369446 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.19052782084277567 = (374.93424476388543 - 303.49884014969047) / 374.93424476388543 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 12, 2022

Run Information

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Formats.Cbor.Tests.Perf_CborReader

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SkipValue - Duration of single invocation 1.11 μs 549.91 ns 0.50 0.01 False
SkipValue - Duration of single invocation 88.34 ns 34.88 ns 0.39 0.08 False
SkipValue - Duration of single invocation 92.16 ns 46.49 ns 0.50 0.05 False
SkipValue - Duration of single invocation 918.53 ns 477.72 ns 0.52 0.01 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Formats.Cbor.Tests.Perf_CborReader*'

Payloads

Baseline
Compare

Histogram

System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Map, Canonical))


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 549.9095444804577 < 784.8883640073313.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.361207059748348 (T) = (0 -548.580696259819) / Math.Sqrt((15416.228426386462 / (299)) + (15.44819565057612 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06578546776980305 = (587.2106216868877 - 548.580696259819) / 587.2106216868877 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Integer, Strict))

```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 34.87820203144927 < 55.65880615761316.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.184109939716517 (T) = (0 -35.44191553043599) / Math.Sqrt((111.92028725876364 / (299)) + (0.2798867579150578 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06790597251049417 = (38.023970205983346 - 35.44191553043599) / 38.023970205983346 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Text String, Strict))

```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 46.48900102144315 < 66.31516327526964.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.361299614264789 (T) = (0 -46.15328006764675) / Math.Sqrt((107.88980675716498 / (299)) + (0.6957639243644569 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.054840136949123854 = (48.83118916906695 - 46.15328006764675) / 48.83118916906695 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Map, Lax))

```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 477.715219467614 < 639.4352633184104.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 4.920611243874624 (T) = (0 -478.9154044016497) / Math.Sqrt((7814.286910957341 / (299)) + (6.870233474410979 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.05004884707708469 = (504.1474005564071 - 478.9154044016497) / 504.1474005564071 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
Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Globalization.Tests.Perf_DateTimeCultureInfo

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToString - Duration of single invocation 205.45 ns 132.04 ns 0.64 0.01 False
ToString - Duration of single invocation 206.04 ns 132.06 ns 0.64 0.01 False
ToString - Duration of single invocation 206.55 ns 129.12 ns 0.63 0.01 False
ToString - Duration of single invocation 203.14 ns 124.75 ns 0.61 0.03 False
ToStringHebrewIsrael - Duration of single invocation 562.66 ns 257.00 ns 0.46 0.03 False

graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Globalization.Tests.Perf_DateTimeCultureInfo*'

Payloads

Baseline
Compare

Histogram

System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: )


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 132.0439347122032 < 162.07192435718756.
IsChangePoint: Marked as a change because one of 6/1/2022 6:40:18 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.799833227477258 (T) = (0 -132.04148001794476) / Math.Sqrt((241.56215300377858 / (299)) + (0.8703309579348544 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08106454166231818 = (143.68961260544089 - 132.04148001794476) / 143.68961260544089 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: fr)

```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 132.05739983291815 < 161.80248094806257.
IsChangePoint: Marked as a change because one of 6/1/2022 6:40:18 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 12.8940128200512 (T) = (0 -131.97862536770353) / Math.Sqrt((246.4990722409731 / (299)) + (1.2917388174254276 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08282834253694814 = (143.89740927316026 - 131.97862536770353) / 143.89740927316026 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: ja)

```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 129.1173085332844 < 161.5233994887816.
IsChangePoint: Marked as a change because one of 6/1/2022 6:40:18 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 13.647241088459227 (T) = (0 -129.2987843663414) / Math.Sqrt((259.3830813326528 / (299)) + (1.132453522432795 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.0907341408422023 = (142.20129686393776 - 129.2987843663414) / 142.20129686393776 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: da)

```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 124.74747724943978 < 159.04646520427917.
IsChangePoint: Marked as a change because one of 6/1/2022 6:40:18 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 11.882409393691082 (T) = (0 -124.59665415256667) / Math.Sqrt((293.5176581983645 / (299)) + (1.5762723212825656 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.08778823973061592 = (136.58742364357613 - 124.59665415256667) / 136.58742364357613 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToStringHebrewIsrael

```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 257.0045448640671 < 393.3854807947842.
IsChangePoint: Marked as a change because one of 6/1/2022 6:40:18 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 8.848111373358721 (T) = (0 -258.1565680868545) / Math.Sqrt((4477.884178382269 / (299)) + (9.870604712033414 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.11789409594583405 = (292.6593812606455 - 258.1565680868545) / 292.6593812606455 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

Architecture x64
OS alpine 3.15
Baseline ffcb0149763663a55a79784be216afe81f6bf76c
Compare 9534947f2918c4721e4b1dabfa9402057c6e1246
Diff Diff

Improvements in System.Tests.Perf_Uri

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Unescape - Duration of single invocation 96.80 ns 53.57 ns 0.55 0.03 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Uri*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Uri.Unescape


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 53.5664367706988 < 70.46896258626386.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/12/2022 10:14:57 AM falls between 7/3/2022 4:26:07 AM and 7/12/2022 10:14:57 AM.
IsImprovementStdDev: Marked as improvement because 5.71269795312119 (T) = (0 -52.57639030425718) / Math.Sqrt((104.0824870119682 / (299)) + (0.6135570999239599 / (43))) is greater than 1.9669657340893643 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (43) - 2, .975) and 0.06139193675991345 = (56.015276624369534 - 52.57639030425718) / 56.015276624369534 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

@AndyAyersMS
Copy link
Member

dotnet/runtime#71673

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants