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] Windows/x64: 72 Improvements on 5/27/2023 12:14:23 AM #18341

Closed
performanceautofiler bot opened this issue May 30, 2023 · 5 comments
Closed

[Perf] Windows/x64: 72 Improvements on 5/27/2023 12:14:23 AM #18341

performanceautofiler bot opened this issue May 30, 2023 · 5 comments

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented May 30, 2023

Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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 28.42 ns 21.79 ns 0.77 0.05 False
ParseR - Duration of single invocation 31.56 ns 27.50 ns 0.87 0.02 False
ParseO - Duration of single invocation 34.83 ns 30.54 ns 0.88 0.02 False

graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_DateTime.ToString(format: "r")


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.785984431662953 < 25.58815829525256.
IsChangePoint: Marked as a change because one of 4/19/2023 8:38:27 PM, 5/16/2023 12:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 58.37716856043711 (T) = (0 -21.434205554878673) / Math.Sqrt((1.9625433433335078 / (299)) + (0.07862721809693343 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.27639021629429794 = (29.62122132333708 - 21.434205554878673) / 29.62122132333708 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_DateTime.ParseR


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.50438401813534 < 30.17025404438197.
IsChangePoint: Marked as a change because one of 3/5/2023 11:54:18 PM, 5/13/2023 1:49:08 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 36.072858530801255 (T) = (0 -27.818189181552565) / Math.Sqrt((2.5846303137231774 / (299)) + (0.25987098615802806 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.22814283294570797 = (36.040591924173775 - 27.818189181552565) / 36.040591924173775 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_DateTime.ParseO


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 30.535889547100968 < 33.07522787745151.
IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 6:46:56 PM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 41.59388004141894 (T) = (0 -29.636329608423694) / Math.Sqrt((4.581116739500246 / (299)) + (0.21911010807886652 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.2421650049365577 = (39.106573068643634 - 29.636329608423694) / 39.106573068643634 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Double

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToStringWithFormat - Duration of single invocation 108.88 ns 92.92 ns 0.85 0.02 False
ToStringWithFormat - Duration of single invocation 165.22 ns 139.88 ns 0.85 0.05 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Double.ToStringWithFormat(value: 12345, format: "G")


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.92281204353816 < 100.23147028449611.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 31.639355927214268 (T) = (0 -94.93574965154494) / Math.Sqrt((18.345411867193064 / (299)) + (2.3663863990509824 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.17397971781359423 = (114.93149950296383 - 94.93574965154494) / 114.93149950296383 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Double.ToStringWithFormat(value: 12345, format: "G17")


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 139.88027489658577 < 156.53447522322458.
IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/16/2023 12:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 28.239165637902264 (T) = (0 -136.55409245032126) / Math.Sqrt((70.77444850139466 / (299)) + (18.597354681231035 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.2602281806898467 = (184.58947595173294 - 136.55409245032126) / 184.58947595173294 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.TryGetValueTrue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IDictionary - Duration of single invocation 10.34 μs 9.38 μs 0.91 0.04 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueTrue&lt;String, String&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.TryGetValueTrue<String, String>.IDictionary(Size: 512)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.378445996978853 < 9.635441555926128.
IsChangePoint: Marked as a change because one of 3/16/2023 10:20:48 AM, 4/22/2023 6:52:03 AM, 4/25/2023 3:46:39 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 28.944117424824263 (T) = (0 -9444.726985128838) / Math.Sqrt((143771.2476909078 / (299)) + (3082.304225329179 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.08812908311246771 = (10357.526279450061 - 9444.726985128838) / 10357.526279450061 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Globalization.Tests.Perf_NumberCultureInfo

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToString - Duration of single invocation 110.81 ns 94.96 ns 0.86 0.06 False
ToString - Duration of single invocation 107.48 ns 95.86 ns 0.89 0.07 False
ToString - Duration of single invocation 108.00 ns 94.13 ns 0.87 0.06 False
ToString - Duration of single invocation 107.40 ns 94.16 ns 0.88 0.07 False

graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Globalization.Tests.Perf_NumberCultureInfo.ToString(culturestring: )


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.95529849187326 < 109.86698373632598.
IsChangePoint: Marked as a change because one of 3/31/2023 8:05:26 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 63.20783797620541 (T) = (0 -94.62940346711629) / Math.Sqrt((21.531725503293618 / (299)) + (0.15824052388982962 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.1732210386647999 = (114.45550490822274 - 94.62940346711629) / 114.45550490822274 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Globalization.Tests.Perf_NumberCultureInfo.ToString(culturestring: fr)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 95.85630196044522 < 103.90060064037102.
IsChangePoint: Marked as a change because one of 3/31/2023 8:05:26 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 54.94365580194017 (T) = (0 -94.74165227872497) / Math.Sqrt((20.591215459021548 / (299)) + (0.42930407922293934 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.17851916267721418 = (115.33032540051568 - 94.74165227872497) / 115.33032540051568 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Globalization.Tests.Perf_NumberCultureInfo.ToString(culturestring: ja)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.13096507861263 < 111.03999643962972.
IsChangePoint: Marked as a change because one of 3/31/2023 8:05:26 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 37.955253314735636 (T) = (0 -95.24327176945705) / Math.Sqrt((22.449263817389316 / (299)) + (1.083818471666668 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.16772079415012642 = (114.4366831467336 - 95.24327176945705) / 114.4366831467336 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Globalization.Tests.Perf_NumberCultureInfo.ToString(culturestring: da)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.16198098714995 < 108.38837919965742.
IsChangePoint: Marked as a change because one of 3/31/2023 8:05:26 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 58.159013705493905 (T) = (0 -94.39715406755113) / Math.Sqrt((26.869244388407168 / (299)) + (0.1879091877259585 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.1765990486858691 = (114.64299854997158 - 94.39715406755113) / 114.64299854997158 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@performanceautofiler
Copy link
Author

performanceautofiler bot commented May 30, 2023

Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
Replace_String - Duration of single invocation 9.70 ns 8.56 ns 0.88 0.03 False
TrimEnd_CharArr - Duration of single invocation 4.65 ns 3.23 ns 0.69 0.11 False
TrimStart - Duration of single invocation 13.22 ns 11.33 ns 0.86 0.07 False
ToUpperInvariant - Duration of single invocation 19.93 ns 17.79 ns 0.89 0.05 False
Remove_IntInt - Duration of single invocation 13.28 ns 11.37 ns 0.86 0.05 False
CtorCharCount - Duration of single invocation 9.59 ns 7.45 ns 0.78 0.08 False
Split - Duration of single invocation 21.63 ns 16.63 ns 0.77 0.03 False
Remove_IntInt - Duration of single invocation 13.16 ns 11.53 ns 0.88 0.04 False
Trim_CharArr - Duration of single invocation 5.76 ns 4.51 ns 0.78 0.08 False
Insert - Duration of single invocation 14.50 ns 13.39 ns 0.92 0.04 False
ToUpperInvariant - Duration of single invocation 20.10 ns 18.14 ns 0.90 0.03 False
Replace_Char - Duration of single invocation 16.61 ns 14.29 ns 0.86 0.08 False
Replace_String - Duration of single invocation 46.11 ns 35.99 ns 0.78 0.02 False
Split - Duration of single invocation 368.50 ns 315.70 ns 0.86 0.02 False
Concat_CharEnumerable - Duration of single invocation 6.38 μs 3.35 μs 0.52 0.13 True
IndexerCheckPathLength - Duration of single invocation 146.77 ns 123.50 ns 0.84 0.06 False
ToLowerInvariant - Duration of single invocation 36.23 ns 30.65 ns 0.85 0.03 False
Join_Array - Duration of single invocation 49.85 ns 46.11 ns 0.92 0.05 False
Split - Duration of single invocation 21.85 ns 16.63 ns 0.76 0.02 False
Replace_String - Duration of single invocation 46.38 ns 39.96 ns 0.86 0.04 False

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

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

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


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.562414023826703 < 9.209191509424533.
IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 3/20/2023 8:31:51 AM, 3/28/2023 3:45:48 AM, 4/19/2023 8:38:27 PM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 8.114514966084442 (T) = (0 -8.751991650601015) / Math.Sqrt((0.03743320255095779 / (299)) + (0.05224348526096064 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.08015162274857852 = (9.514602479109271 - 8.751991650601015) / 9.514602479109271 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.TrimEnd_CharArr(s: "Test", c: [' ', ' '])


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.2280628601695147 < 4.4161015063779585.
IsChangePoint: Marked as a change because one of 4/9/2023 11:04:55 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 25.011355273433743 (T) = (0 -3.121674619062413) / Math.Sqrt((0.06194800544190156 / (299)) + (0.01657631511821027 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.3039300398456084 = (4.484713890497459 - 3.121674619062413) / 4.484713890497459 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

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


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.333867368109575 < 12.616598094870861.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 10:30:38 AM, 5/22/2023 7:40:07 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 6.96372024186099 (T) = (0 -10.780089615203766) / Math.Sqrt((2.1300143870150263 / (299)) + (0.2980597191420473 / (16))) is greater than 1.9675720194858106 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (16) - 2, .975) and 0.09392731404302472 = (11.897599146604952 - 10.780089615203766) / 11.897599146604952 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

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


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.7891598480118 < 19.040417261126663.
IsChangePoint: Marked as a change because one of 3/6/2023 11:14:52 AM, 4/9/2023 11:04:55 PM, 4/17/2023 6:40:18 PM, 5/22/2023 7:40:07 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 12.516301982360822 (T) = (0 -17.819528359662502) / Math.Sqrt((5.991034469914809 / (299)) + (0.23513557139337712 / (16))) is greater than 1.9675720194858106 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (16) - 2, .975) and 0.1157510088538821 = (20.152161368672584 - 17.819528359662502) / 20.152161368672584 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.Remove_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 7, i2: 4)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.36786063358243 < 13.170360937765382.
IsChangePoint: Marked as a change because one of 4/9/2023 11:04:55 PM, 4/12/2023 8:39:35 PM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 9.793051907492032 (T) = (0 -11.425451567507338) / Math.Sqrt((0.3138736223198953 / (299)) + (0.07349966161064611 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.08995556017749717 = (12.554828168320862 - 11.425451567507338) / 12.554828168320862 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.CtorCharCount(size: 1)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.454129060487382 < 9.078079746871396.
IsChangePoint: Marked as a change because one of 3/6/2023 11:14:52 AM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 27.034653314976424 (T) = (0 -7.306258333746442) / Math.Sqrt((0.24030909244789803 / (299)) + (0.010684192748431442 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.15154294171510688 = (8.611229363234505 - 7.306258333746442) / 8.611229363234505 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.Split(s: "ABCDEFGHIJKLMNOPQRSTUVWXYZ", arr: [' '], options: None)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.62899069309223 < 20.412313021756592.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 55.969778606048756 (T) = (0 -16.447104489682655) / Math.Sqrt((1.6048772130984243 / (299)) + (0.06156388986042608 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.28824506626496765 = (23.10781943354323 - 16.447104489682655) / 23.10781943354323 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.Remove_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 10, i2: 1)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.534538816211162 < 13.147476803075115.
IsChangePoint: Marked as a change because one of 4/9/2023 11:04:55 PM, 4/12/2023 8:39:35 PM, 5/2/2023 3:18:41 PM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 44.51507955693555 (T) = (0 -11.502388300246158) / Math.Sqrt((0.26171294535393175 / (299)) + (0.0009313658218541512 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.11050710414078518 = (12.931399850175653 - 11.502388300246158) / 12.931399850175653 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.Trim_CharArr(s: "Test", c: [' ', ' '])


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.512827324144361 < 5.473235172791712.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 7.651197876035221 (T) = (0 -4.761796386972035) / Math.Sqrt((0.1052892043192835 / (299)) + (0.08303516837357014 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.1606601114686917 = (5.673263539642218 - 4.761796386972035) / 5.673263539642218 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.Insert(s1: "Test", i: 2, s2: " Test")


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.390805650315318 < 13.961883580869758.
IsChangePoint: Marked as a change because one of 3/25/2023 12:18:49 AM, 4/9/2023 11:04:55 PM, 4/12/2023 8:39:35 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 23.458204762181406 (T) = (0 -13.389018764150324) / Math.Sqrt((0.29401792784031744 / (299)) + (0.0047234805389201 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.0686612934893151 = (14.376100413901048 - 13.389018764150324) / 14.376100413901048 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

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


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.139374935171038 < 18.916127535568123.
IsChangePoint: Marked as a change because one of 3/6/2023 11:14:52 AM, 4/9/2023 11:04:55 PM, 4/17/2023 6:40:18 PM, 5/22/2023 7:40:07 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 14.48828361028401 (T) = (0 -17.85788813438329) / Math.Sqrt((0.700128146035044 / (299)) + (0.28569722370987716 / (16))) is greater than 1.9675720194858106 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (16) - 2, .975) and 0.10338193625540387 = (19.91693995077725 - 17.85788813438329) / 19.91693995077725 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.Replace_Char(text: "This is a very nice sentence", oldChar: 'i', newChar: 'I')


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.287171424101011 < 15.817988298277228.
IsChangePoint: Marked as a change because one of 3/31/2023 8:29:50 AM, 3/31/2023 11:04:55 PM, 4/19/2023 8:38:27 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 15.553116249392248 (T) = (0 -14.09220902113393) / Math.Sqrt((1.8267222886848906 / (299)) + (0.2976514427127084 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.20667475297579038 = (17.76346974206896 - 14.09220902113393) / 17.76346974206896 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

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


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.99015757873112 < 44.18467916804773.
IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 3/20/2023 8:31:51 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 47.83918862811335 (T) = (0 -34.88923116133877) / Math.Sqrt((1.6200065050713977 / (299)) + (0.5957736229707914 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.2920646073896894 = (49.28307233333065 - 34.88923116133877) / 49.28307233333065 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.Split(s: "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z", arr: [' '], options: RemoveEmptyEntries)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 315.7027984935618 < 349.181115714011.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 35.27178173178977 (T) = (0 -315.4931106250148) / Math.Sqrt((63.248933333250946 / (299)) + (27.770653013800366 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.18602554374529853 = (387.59583694637905 - 315.4931106250148) / 387.59583694637905 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.Concat_CharEnumerable


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.3497797671181457 < 6.06091831119579.
IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/22/2023 7:40:07 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 161.05862639014194 (T) = (0 -3401.3164881515754) / Math.Sqrt((119752.48295836606 / (299)) + (1399.6754467058813 / (16))) is greater than 1.9675720194858106 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (16) - 2, .975) and 0.5112475374620938 = (6959.180257608992 - 3401.3164881515754) / 6959.180257608992 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.IndexerCheckPathLength


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.50126030039326 < 139.52389964630208.
IsChangePoint: Marked as a change because one of 3/6/2023 11:14:52 AM, 3/20/2023 8:31:51 AM, 4/25/2023 3:46:39 AM, 5/1/2023 3:42:23 PM, 5/9/2023 1:22:51 PM, 5/16/2023 12:30:38 AM, 5/26/2023 6:22:05 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 33.93140601453449 (T) = (0 -123.56215096428899) / Math.Sqrt((86.03326748295117 / (299)) + (0.003987865733698959 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.1285020069589265 = (141.7813373650139 - 123.56215096428899) / 141.7813373650139 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

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


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 30.646331143136457 < 33.24067928522472.
IsChangePoint: Marked as a change because one of 5/2/2023 3:18:41 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 18.07916602577351 (T) = (0 -31.219494772843515) / Math.Sqrt((0.5728461350198406 / (299)) + (0.1503163068757718 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.086841591662243 = (34.18847648752758 - 31.219494772843515) / 34.18847648752758 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.Join_Array


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.1080427995215 < 47.06532248042942.
IsChangePoint: Marked as a change because one of 4/9/2023 11:04:55 PM, 4/12/2023 8:39:35 PM, 5/21/2023 4:09:07 PM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 13.205951259846932 (T) = (0 -46.93182196174551) / Math.Sqrt((4.801653962298507 / (299)) + (2.062273503720558 / (20))) is greater than 1.9674756580274855 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (20) - 2, .975) and 0.0885379179608682 = (51.49070146368479 - 46.93182196174551) / 51.49070146368479 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_String.Split(s: "ABCDEFGHIJKLMNOPQRSTUVWXYZ", arr: [' '], options: RemoveEmptyEntries)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.632355372689176 < 20.639068350990613.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 62.32287764007978 (T) = (0 -16.381104877520897) / Math.Sqrt((0.639073426808024 / (299)) + (0.0716651976077233 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.2973752517109775 = (23.314158684861155 - 16.381104877520897) / 23.314158684861155 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

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


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.96215309240243 < 44.136970475795074.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/17/2023 10:06:19 AM, 4/9/2023 11:04:55 PM, 4/12/2023 8:39:35 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 27.44718341596588 (T) = (0 -39.5535142145792) / Math.Sqrt((10.527191359966585 / (299)) + (0.5658740888853148 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.19119402143123543 = (48.90358783520833 - 39.5535142145792) / 48.90358783520833 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.ReadOnlySpan

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IndexOfString - Duration of single invocation 11.39 ns 10.00 ns 0.88 0.02 False
IndexOfString - Duration of single invocation 9.22 ns 7.56 ns 0.82 0.01 False
IndexOfString - Duration of single invocation 10.19 ns 8.71 ns 0.85 0.12 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Memory.ReadOnlySpan.IndexOfString(input: "Hello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello Worldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylong!xyz", value: "~", comparisonType: Ordinal)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.997701695112463 < 10.809754900530423.
IsChangePoint: Marked as a change because one of 3/20/2023 8:31:51 AM, 4/12/2023 8:39:35 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 28.376550487565183 (T) = (0 -9.939695638980197) / Math.Sqrt((0.14794693897481337 / (299)) + (0.02110436104177232 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.14466362780334563 = (11.620803185831218 - 9.939695638980197) / 11.620803185831218 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Memory.ReadOnlySpan.IndexOfString(input: "Hello Worldbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbba!", value: "y", comparisonType: Ordinal)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.556096348016295 < 8.953433288715335.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 145.52547065632578 (T) = (0 -7.551138500858045) / Math.Sqrt((0.04872471001664219 / (299)) + (0.00015408482503533389 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.2092945265148609 = (9.549875085062206 - 7.551138500858045) / 9.549875085062206 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Memory.ReadOnlySpan.IndexOfString(input: "だだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだすだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだ", value: "す", comparisonType: Ordinal)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.706556155557793 < 9.684951814406917.
IsChangePoint: Marked as a change because one of 3/25/2023 12:18:49 AM, 4/17/2023 11:29:15 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 27.938046203530746 (T) = (0 -8.49154674802914) / Math.Sqrt((0.2872336250302617 / (299)) + (0.034824740050183954 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.21297333061125182 = (10.78940152641102 - 8.49154674802914) / 10.78940152641102 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.TryGetValueTrue<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IDictionary - Duration of single invocation 2.65 μs 1.68 μs 0.63 0.06 False
Dictionary - Duration of single invocation 2.52 μs 1.55 μs 0.61 0.02 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueTrue&lt;Int32, Int32&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.TryGetValueTrue<Int32, Int32>.IDictionary(Size: 512)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.6803060428325438 < 2.6219703032697597.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 95.05067703116518 (T) = (0 -1676.0713929755268) / Math.Sqrt((130173.39285420887 / (299)) + (172.2820894440788 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.5487911321599749 = (3714.6242293486425 - 1676.0713929755268) / 3714.6242293486425 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Collections.TryGetValueTrue<Int32, Int32>.Dictionary(Size: 512)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.5484132053208228 < 2.4136587316810196.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 147.22278414575888 (T) = (0 -1548.6755675834022) / Math.Sqrt((20424.76816250424 / (299)) + (33.94907484770442 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.448462912490346 = (2807.9264344236767 - 1548.6755675834022) / 2807.9264344236767 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@performanceautofiler
Copy link
Author

performanceautofiler bot commented May 30, 2023

Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
Queue - Duration of single invocation 6.76 ns 5.05 ns 0.75 0.01 True

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Concurrent.IsEmpty&lt;String&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.IsEmpty<String>.Queue(Size: 0)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.0462701786700235 < 6.427361677900321.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 583.0854498494589 (T) = (0 -5.051922494158909) / Math.Sqrt((0.001608447468093 / (299)) + (2.2687782058460975E-05 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.2588934137629443 = (6.816728643324948 - 5.051922494158909) / 6.816728643324948 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Tests.DictionarySequentialKeys

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryGetValue_3k_Int_Int - Duration of single invocation 5.29 ns 2.23 ns 0.42 0.06 False
TryGetValue_3k_Int_32ByteValue - Duration of single invocation 4.74 ns 2.33 ns 0.49 0.08 True
TryGetValue_3k_Int_32ByteRefsValue - Duration of single invocation 4.74 ns 2.33 ns 0.49 0.04 True
TryGetValue_17_Int_Int - Duration of single invocation 5.90 ns 2.44 ns 0.41 0.10 False

graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Collections.Tests.DictionarySequentialKeys.TryGetValue_3k_Int_Int


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.2309079273229515 < 5.028667504728432.
IsChangePoint: Marked as a change because one of 5/9/2023 1:22:51 PM, 5/16/2023 5:40:18 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 169.7524435256692 (T) = (0 -2.2285759414547064) / Math.Sqrt((0.05692866055545072 / (299)) + (1.930694294168094E-05 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.5145354272282426 = (4.59060468353162 - 2.2285759414547064) / 4.59060468353162 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Collections.Tests.DictionarySequentialKeys.TryGetValue_3k_Int_32ByteValue


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.3289879224356107 < 4.503230242455262.
IsChangePoint: Marked as a change because one of 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 329.7029229274519 (T) = (0 -2.3276940348836317) / Math.Sqrt((0.015247784841320161 / (299)) + (1.0409824001398916E-05 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.5070394140404155 = (4.721866415248193 - 2.3276940348836317) / 4.721866415248193 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

System.Collections.Tests.DictionarySequentialKeys.TryGetValue_3k_Int_32ByteRefsValue


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.3286852165611664 < 4.108254058609957.
IsChangePoint: Marked as a change because one of 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 424.5887071778064 (T) = (0 -2.328501642147945) / Math.Sqrt((0.009467296270219545 / (299)) + (9.71714675536976E-07 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.5070668104702678 = (4.723767219588887 - 2.328501642147945) / 4.723767219588887 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

System.Collections.Tests.DictionarySequentialKeys.TryGetValue_17_Int_Int


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.4371731741091907 < 4.60768541347731.
IsChangePoint: Marked as a change because one of 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 80.74090515245169 (T) = (0 -2.401247052585417) / Math.Sqrt((0.04484981489495449 / (299)) + (0.0038104988075169884 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.4851034731670806 = (4.663552631351514 - 2.401247052585417) / 4.663552631351514 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Tests.Perf_Encoding

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetChars - Duration of single invocation 27.15 ns 22.17 ns 0.82 0.03 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Text.Tests.Perf_Encoding.GetChars(size: 16, encName: "utf-8")


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.17479364299224 < 25.882514338677545.
IsChangePoint: Marked as a change because one of 5/2/2023 3:18:41 PM, 5/5/2023 3:18:41 PM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 41.89312726577553 (T) = (0 -22.667687758615102) / Math.Sqrt((3.0043369598857694 / (299)) + (0.08836981478579356 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.22535053395236856 = (29.26186456213386 - 22.667687758615102) / 29.26186456213386 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
ToStringD - Duration of single invocation 28.53 ns 24.45 ns 0.86 0.07 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString: 123)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.44610622117216 < 27.132734871356504.
IsChangePoint: Marked as a change because one of 3/20/2023 8:31:51 AM, 3/25/2023 12:18:49 AM, 4/4/2023 4:23:54 PM, 5/13/2023 1:49:08 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 62.863127164900035 (T) = (0 -24.437051147958158) / Math.Sqrt((5.874829351748981 / (299)) + (0.0010580129672772402 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.26589380807331453 = (33.28816922770032 - 24.437051147958158) / 33.28816922770032 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
TryParseDecimal - Duration of single invocation 39.27 ns 33.93 ns 0.86 0.01 False
TryParseDateTimeOffset - Duration of single invocation 12.31 ns 9.99 ns 0.81 0.01 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Buffers.Text.Tests.Utf8ParserTests.TryParseDecimal(value: 123456.789)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.934391728501716 < 38.1191884921605.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 41.23678419389645 (T) = (0 -34.068586560419725) / Math.Sqrt((1.8125970140138985 / (299)) + (0.25995592193801886 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.21197406000195168 = (43.232823732305185 - 34.068586560419725) / 43.232823732305185 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Buffers.Text.Tests.Utf8ParserTests.TryParseDateTimeOffset(value: 12/30/2017 3:45:22 AM -08:00)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.991996880279759 < 11.553696662905324.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 23.122761570496905 (T) = (0 -9.907919526668726) / Math.Sqrt((0.11792700710735682 / (299)) + (0.027249911780147785 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.1408665636869575 = (11.532457134002845 - 9.907919526668726) / 11.532457134002845 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.ContainsFalse<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ImmutableArray - Duration of single invocation 21.39 μs 17.31 μs 0.81 0.19 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsFalse&lt;Int32&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.ContainsFalse<Int32>.ImmutableArray(Size: 512)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.314139252515776 < 20.325584121127008.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 31.58582841535299 (T) = (0 -17090.683121922728) / Math.Sqrt((715625.5859332634 / (299)) + (11985.861430908626 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.10910464710821849 = (19183.715647912646 - 17090.683121922728) / 19183.715647912646 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
ChangeExtension - Duration of single invocation 19.29 ns 16.14 ns 0.84 0.04 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.IO.Tests.Perf_Path.ChangeExtension


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.137036924360306 < 18.630073406704092.
IsChangePoint: Marked as a change because one of 5/16/2023 5:40:18 PM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 11.49411225073232 (T) = (0 -16.174281561331743) / Math.Sqrt((2.6451693779373757 / (299)) + (0.03493662819951807 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.07925007132462199 = (17.56642173689941 - 16.174281561331743) / 17.56642173689941 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
GetInt64 - Duration of single invocation 770.98 ns 651.53 ns 0.85 0.03 False
GetDecimal - Duration of single invocation 4.39 μs 3.67 μs 0.84 0.01 False
GetGuid - Duration of single invocation 11.87 μs 4.70 μs 0.40 0.04 False
GetUInt32 - Duration of single invocation 2.07 μs 535.60 ns 0.26 0.03 False
GetDouble - Duration of single invocation 4.62 μs 4.33 μs 0.94 0.01 False
GetString - Duration of single invocation 3.26 μs 2.41 μs 0.74 0.01 False

graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Get.GetInt64


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 651.5345481679848 < 732.0514258609905.
IsChangePoint: Marked as a change because one of 3/6/2023 11:14:52 AM, 4/19/2023 8:38:27 PM, 4/25/2023 3:46:39 AM, 5/1/2023 3:42:23 PM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 6.602712091261731 (T) = (0 -654.9122809755821) / Math.Sqrt((1039.914383273122 / (299)) + (273.3469881230828 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.061690793468153905 = (697.9706438096795 - 654.9122809755821) / 697.9706438096795 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetDecimal


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.670475841731115 < 4.107284349698983.
IsChangePoint: Marked as a change because one of 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 41.066052915790195 (T) = (0 -3633.331985913826) / Math.Sqrt((6946.569276023815 / (299)) + (1565.4367857052625 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.16003170989762663 = (4325.558510632591 - 3633.331985913826) / 4325.558510632591 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetGuid


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.700469952742862 < 11.202471471529648.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 4.598707034192439 (T) = (0 -4626.300929126238) / Math.Sqrt((3296314.9536498743 / (299)) + (4415.575603406887 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.09730877810369572 = (5125.0093242378725 - 4626.300929126238) / 5125.0093242378725 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetUInt32


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 535.5951025898769 < 1.9711673942347538.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/23/2023 2:36:40 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 2.959689012062172 (T) = (0 -620.1624425365637) / Math.Sqrt((105972.5119841922 / (299)) + (9268.228210545265 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1295365738163762 = (712.4508898157208 - 620.1624425365637) / 712.4508898157208 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetDouble


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.330573397513768 < 4.362059649085098.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/23/2023 2:36:40 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 20.365947626089252 (T) = (0 -4281.435911771351) / Math.Sqrt((4759.569751918498 / (299)) + (9635.453250746537 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10877039774196215 = (4803.965107222444 - 4281.435911771351) / 4803.965107222444 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetString


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.4061269640744745 < 3.0918757680627587.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 10:30:38 AM, 5/23/2023 2:36:40 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 17.137152017434705 (T) = (0 -2505.5777603696647) / Math.Sqrt((13330.62184138838 / (299)) + (9917.83189643524 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15376401638397552 = (2960.849938882484 - 2505.5777603696647) / 2960.849938882484 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Sort<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
LinqOrderByExtension - Duration of single invocation 228.54 μs 213.54 μs 0.93 0.07 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Collections.Sort<String>.LinqOrderByExtension(Size: 512)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 213.53642399999998 < 216.63335576666665.
IsChangePoint: Marked as a change because one of 4/25/2023 3:46:39 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 33.196089917479966 (T) = (0 -213065.30856410254) / Math.Sqrt((33778655.2431818 / (299)) + (1029612.5439769619 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.07673578492489533 = (230773.92699203698 - 213065.30856410254) / 230773.92699203698 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@performanceautofiler
Copy link
Author

performanceautofiler bot commented May 30, 2023

Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Tests.Perf_StringBuilder

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Insert_Primitives - Duration of single invocation 28.68 μs 18.06 μs 0.63 0.48 False
Insert_Strings - Duration of single invocation 500.93 ns 394.74 ns 0.79 0.03 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Text.Tests.Perf_StringBuilder.Insert_Primitives


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.064279124055137 < 29.518043776853354.
IsChangePoint: Marked as a change because one of 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 135.03814370561565 (T) = (0 -17918.755989040492) / Math.Sqrt((3134438.073525188 / (299)) + (8784.554694492132 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.45167100306920943 = (32678.8407859856 - 17918.755989040492) / 32678.8407859856 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Tests.Perf_StringBuilder.Insert_Strings


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 394.74134502164 < 473.76228029674763.
IsChangePoint: Marked as a change because one of 5/22/2023 2:06:57 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 16.46525821150253 (T) = (0 -407.94134207766666) / Math.Sqrt((151.23746541255107 / (299)) + (203.59787727332017 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.19150214489409248 = (504.56700596222265 - 407.94134207766666) / 504.56700596222265 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Single

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToStringWithFormat - Duration of single invocation 109.50 ns 92.39 ns 0.84 0.02 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Single.ToStringWithFormat(value: 12345, format: "R")


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.39308619569229 < 101.90371184108771.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/13/2023 1:49:08 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 52.86073066049911 (T) = (0 -93.86579196697902) / Math.Sqrt((41.3459752981647 / (299)) + (0.8742249822498115 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.23083147692827644 = (122.03540466284292 - 93.86579196697902) / 122.03540466284292 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Decimal

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Divide - Duration of single invocation 52.75 ns 48.73 ns 0.92 0.12 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Decimal.Divide


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.73019438654216 < 50.20805672223121.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 6.553489097159513 (T) = (0 -47.572860717996925) / Math.Sqrt((1.1044813780562655 / (299)) + (2.9735838060738855 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.0887052167711618 = (52.203591629746825 - 47.572860717996925) / 52.203591629746825 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Perf_Convert

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
FromBase64Chars - Duration of single invocation 68.26 ns 57.35 ns 0.84 0.05 False
FromBase64String - Duration of single invocation 62.29 ns 56.27 ns 0.90 0.03 False
ToBase64CharArray - Duration of single invocation 123.26 ns 115.72 ns 0.94 0.01 False

graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Perf_Convert.FromBase64Chars


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.34985638605471 < 65.45580922207711.
IsChangePoint: Marked as a change because one of 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 11.672452750187402 (T) = (0 -58.136212445816376) / Math.Sqrt((1.4736081913812853 / (299)) + (4.539843658190109 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.13964030347608394 = (67.57198492758583 - 58.136212445816376) / 67.57198492758583 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Perf_Convert.FromBase64String


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 56.27496747069678 < 59.59187158054207.
IsChangePoint: Marked as a change because one of 3/6/2023 11:14:52 AM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 90.36430252756145 (T) = (0 -56.47785661021614) / Math.Sqrt((1.1837322733732056 / (299)) + (0.04453644308567089 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.13982175993045196 = (65.65831821745425 - 56.47785661021614) / 65.65831821745425 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Perf_Convert.ToBase64CharArray(binaryDataSize: 1024, formattingOptions: None)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.71763879559946 < 116.96237591469632.
IsChangePoint: Marked as a change because one of 3/10/2023 4:14:40 PM, 4/6/2023 11:23:56 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 37.17465894283657 (T) = (0 -114.34648913972556) / Math.Sqrt((6.829099816192115 / (299)) + (0.4572623434257075 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.09282072048533688 = (126.04618703471758 - 114.34648913972556) / 126.04618703471758 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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 19.94 μs 15.49 μs 0.78 0.04 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth: 512)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.485958005249342 < 17.9692803814471.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 81.18622596668689 (T) = (0 -15471.50947967086) / Math.Sqrt((1053375.0316942062 / (299)) + (13016.36468974965 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.2836216349975793 = (21596.840769498365 - 15471.50947967086) / 21596.840769498365 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
Parse_Flags - Duration of single invocation 171.53 ns 148.87 ns 0.87 0.23 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Enum.Parse_Flags(text: "Red, Orange, Yellow, Green, Blue")


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 148.868280827739 < 162.87033192819004.
IsChangePoint: Marked as a change because one of 4/1/2023 8:54:51 PM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 7.904464224069633 (T) = (0 -155.59719475117515) / Math.Sqrt((191.59430127598878 / (299)) + (40.56162473556139 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.12142210211893321 = (177.10119401642217 - 155.59719475117515) / 177.10119401642217 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Perf_Ascii

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToUtf16 - Duration of single invocation 12.26 ns 7.85 ns 0.64 0.28 False
ToUtf16 - Duration of single invocation 7.58 ns 5.99 ns 0.79 0.10 False
FromUtf16 - Duration of single invocation 7.39 ns 5.88 ns 0.80 0.15 False
FromUtf16 - Duration of single invocation 16.84 ns 10.73 ns 0.64 0.12 False

graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Perf_Ascii*'

Payloads

Baseline
Compare

Histogram

System.Text.Perf_Ascii.ToUtf16(Size: 128)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.846460217010217 < 14.217719610983785.
IsChangePoint: Marked as a change because one of 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 21.79146971917876 (T) = (0 -7.854302248023511) / Math.Sqrt((3.5635349512083914 / (60)) + (0.00023223018066806703 / (6))) is greater than 1.9977296543170047 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (6) - 2, .975) and 0.40347349435791885 = (13.166728005773026 - 7.854302248023511) / 13.166728005773026 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Perf_Ascii.ToUtf16(Size: 6)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.993526052674428 < 7.2044491882502175.
IsChangePoint: Marked as a change because one of 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 25.936285673674 (T) = (0 -5.992992049306518) / Math.Sqrt((0.1619854323213419 / (60)) + (2.6957686086870315E-06 / (6))) is greater than 1.9977296543170047 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (6) - 2, .975) and 0.1835975453591813 = (7.340732521367996 - 5.992992049306518) / 7.340732521367996 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Perf_Ascii.FromUtf16(Size: 6)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.884885732646155 < 7.019559849915684.
IsChangePoint: Marked as a change because one of 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 26.152081534412762 (T) = (0 -5.859889029264612) / Math.Sqrt((0.179619847540249 / (59)) + (0.00016035430779819161 / (6))) is greater than 1.9983405425199074 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (59) + (6) - 2, .975) and 0.1982835766964358 = (7.309179229631182 - 5.859889029264612) / 7.309179229631182 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Perf_Ascii.FromUtf16(Size: 128)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.729119707596658 < 16.23394533396755.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 17.31139233537897 (T) = (0 -10.709142936885721) / Math.Sqrt((3.5341815151401077 / (60)) + (0.0002647710199473551 / (6))) is greater than 1.9977296543170047 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (6) - 2, .975) and 0.28185271700098535 = (14.91218193037488 - 10.709142936885721) / 14.91218193037488 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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 1.29 μs 1.06 μs 0.82 0.02 False
Compare_DifferentFirstChar - Duration of single invocation 9.22 ns 6.42 ns 0.70 0.05 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

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


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.0550219194579507 < 1.171177321807299.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 99.07604361862745 (T) = (0 -1054.6887278153092) / Math.Sqrt((4591.899616439304 / (299)) + (0.41353639974540285 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.26951756661690546 = (1443.8249020318162 - 1054.6887278153092) / 1443.8249020318162 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

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


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.419605656073106 < 8.761923948680586.
IsChangePoint: Marked as a change because one of 3/25/2023 12:18:49 AM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 89.97936366707496 (T) = (0 -6.392408761480506) / Math.Sqrt((1.4217513874393295 / (299)) + (0.0008703710203522454 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.4957747497478578 = (12.677684741658467 - 6.392408761480506) / 12.677684741658467 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
TryParse - Duration of single invocation 433.35 ns 398.48 ns 0.92 0.07 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_DateTimeOffset.TryParse(value: "12/30/2017 3:45:22 AM -08:00")


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 398.4750007367757 < 417.78654996701994.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 41.26445703557395 (T) = (0 -395.67298196472575) / Math.Sqrt((495.77632142193113 / (299)) + (8.997672647325373 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.15634740237135822 = (468.99989767932027 - 395.67298196472575) / 468.99989767932027 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
SerializeToString - Duration of single invocation 3.60 μs 2.94 μs 0.82 0.12 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.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>>.SerializeToString(Mode: SourceGen)


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.937409669275618 < 3.4575991815175566.
IsChangePoint: Marked as a change because one of 4/4/2023 8:16:00 PM, 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 79.53275859799997 (T) = (0 -2935.9618479947094) / Math.Sqrt((71151.96133295292 / (299)) + (373.32878206648184 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.3161663693171415 = (4293.386163331766 - 2935.9618479947094) / 4293.386163331766 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@performanceautofiler
Copy link
Author

performanceautofiler bot commented May 30, 2023

Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 2b122d36e02355850aef3b9e2bf670ea259c801c
Compare 657d575d94a0fbfe31ce7c501100f2e33013410b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Reflection.Invoke

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Property_Set_class - Duration of single invocation 31.21 ns 22.84 ns 0.73 0.10 False
Field_Get_class - Duration of single invocation 34.20 ns 32.31 ns 0.94 0.10 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Reflection.Invoke*'

Payloads

Baseline
Compare

Histogram

System.Reflection.Invoke.Property_Set_class


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.84419120718463 < 29.647594109514483.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 10:30:38 AM, 5/22/2023 7:40:07 AM, 5/26/2023 9:55:14 AM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 48.42725475457835 (T) = (0 -22.70619145011692) / Math.Sqrt((12.978937387622992 / (299)) + (0.08765064021602778 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.33937271172202194 = (34.37065324580209 - 22.70619145011692) / 34.37065324580209 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Reflection.Invoke.Field_Get_class


Description of detection logic

IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.30948228833285 < 32.62393307869667.
IsChangePoint: Marked as a change because one of 3/27/2023 8:33:24 AM, 3/31/2023 8:05:26 PM, 5/5/2023 3:18:41 PM, 5/13/2023 1:49:08 AM, 5/23/2023 1:41:12 PM, 5/27/2023 2:31:56 PM, 5/29/2023 11:58:32 PM falls between 5/21/2023 3:58:09 AM and 5/29/2023 11:58:32 PM.
IsImprovementStdDev: Marked as improvement because 19.418854164831508 (T) = (0 -32.19945338377733) / Math.Sqrt((3.6795345281943215 / (299)) + (0.07505416472605159 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.09608809325282183 = (35.62233569823241 - 32.19945338377733) / 35.62233569823241 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@kunalspathak
Copy link
Member

dotnet/runtime#86902

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

1 participant