Skip to content

[Perf] Windows/x64: 11 Improvements on 5/13/2023 6:35:24 AM #17855

@performanceautofiler

Description

@performanceautofiler

Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 35cbe111b86cdb0581c257f85490cdcca735cedf
Compare aa38055cca67d9ece504cef2adc8a19f0cb2ec8e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Int16

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParse - Duration of single invocation 16.70 ns 13.77 ns 0.82 0.08 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_Int16*'

Payloads

Baseline
Compare

Histogram

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


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.768514880397513 < 15.664642107176201.
IsChangePoint: Marked as a change because one of 3/31/2023 8:05:26 PM, 4/4/2023 4:23:54 PM, 4/17/2023 6:40:18 PM, 5/13/2023 1:49:08 AM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsImprovementStdDev: Marked as improvement because 25.769573804970662 (T) = (0 -13.525758951158023) / Math.Sqrt((1.3230471776466013 / (299)) + (0.011097573129025238 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.1268272152402036 = (15.490357907660696 - 13.525758951158023) / 15.490357907660696 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 35cbe111b86cdb0581c257f85490cdcca735cedf
Compare aa38055cca67d9ece504cef2adc8a19f0cb2ec8e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.Logging.ScopesOverheadBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
NotFiltered_InsideScope - Duration of single invocation 139.64 ns 118.65 ns 0.85 0.06 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 'Microsoft.Extensions.Logging.ScopesOverheadBenchmark*'

Payloads

Baseline
Compare

Histogram

Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered_InsideScope(HasISupportLoggingScopeLogger: True, CaptureScopes: True)


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 118.64730604409581 < 126.25212785965343.
IsChangePoint: Marked as a change because one of 3/20/2023 8:31:51 AM, 3/25/2023 12:18:49 AM, 5/13/2023 1:49:08 AM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsImprovementStdDev: Marked as improvement because 30.036583915849423 (T) = (0 -113.86297863815068) / Math.Sqrt((21.209454871920972 / (299)) + (4.156401543840434 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.16854346537526685 = (136.94399393895102 - 113.86297863815068) / 136.94399393895102 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 35cbe111b86cdb0581c257f85490cdcca735cedf
Compare aa38055cca67d9ece504cef2adc8a19f0cb2ec8e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.ContainsFalse<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ImmutableSortedSet - Duration of single invocation 288.14 μs 267.60 μs 0.93 0.05 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;String&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.ContainsFalse<String>.ImmutableSortedSet(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 267.60492584745765 < 275.96335170454546.
IsChangePoint: Marked as a change because one of 3/25/2023 12:18:49 AM, 3/31/2023 8:05:26 PM, 4/4/2023 4:23:54 PM, 4/6/2023 9:09:21 PM, 5/13/2023 1:49:08 AM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsImprovementStdDev: Marked as improvement because 10.628523789713515 (T) = (0 -267376.9885121613) / Math.Sqrt((203574781.1965658 / (299)) + (43328354.321978696 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.08938003062675641 = (293620.82702424156 - 267376.9885121613) / 293620.82702424156 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 35cbe111b86cdb0581c257f85490cdcca735cedf
Compare aa38055cca67d9ece504cef2adc8a19f0cb2ec8e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Threading.Tasks.Tests.Perf_AsyncMethods

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
EmptyAsyncMethodInvocation - Duration of single invocation 11.45 ns 9.97 ns 0.87 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.Threading.Tasks.Tests.Perf_AsyncMethods*'

Payloads

Baseline
Compare

Histogram

System.Threading.Tasks.Tests.Perf_AsyncMethods.EmptyAsyncMethodInvocation


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.9713675 < 10.87868636904762.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/13/2023 1:49:08 AM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsImprovementStdDev: Marked as improvement because 23.941839772248578 (T) = (0 -9.121056081844863) / Math.Sqrt((0.20546220555964692 / (299)) + (0.11806821038293715 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.24597962909133836 = (12.09656454089321 - 9.121056081844863) / 12.09656454089321 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 35cbe111b86cdb0581c257f85490cdcca735cedf
Compare aa38055cca67d9ece504cef2adc8a19f0cb2ec8e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Tests.Perf_PriorityQueue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
K_Max_Elements - Duration of single invocation 57.61 μs 51.75 μs 0.90 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.Tests.Perf_PriorityQueue&lt;String, String&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.Tests.Perf_PriorityQueue<String, String>.K_Max_Elements(Size: 1000)


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 51.75091348420556 < 54.68908021593674.
IsChangePoint: Marked as a change because one of 3/1/2023 11:57:24 AM, 3/5/2023 11:54:18 PM, 3/14/2023 8:42:09 PM, 3/17/2023 1:30:52 PM, 5/13/2023 1:49:08 AM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsImprovementStdDev: Marked as improvement because 33.693011259130266 (T) = (0 -52216.57963807001) / Math.Sqrt((7523773.307273987 / (299)) + (38202.933606585204 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.10043371118376257 = (58046.394453913075 - 52216.57963807001) / 58046.394453913075 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 35cbe111b86cdb0581c257f85490cdcca735cedf
Compare aa38055cca67d9ece504cef2adc8a19f0cb2ec8e
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
ToUpper - Duration of single invocation 27.98 ns 24.95 ns 0.89 0.06 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_String*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_String.ToUpper(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 24.947107511677515 < 26.85207087027747.
IsChangePoint: Marked as a change because one of 4/10/2023 1:33:42 PM, 4/18/2023 7:42:00 PM, 5/13/2023 1:49:08 AM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsImprovementStdDev: Marked as improvement because 30.825137977822077 (T) = (0 -24.872430273811013) / Math.Sqrt((2.8649693138328853 / (299)) + (0.026183494249933305 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.12320220438552487 = (28.367350372248577 - 24.872430273811013) / 28.367350372248577 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 35cbe111b86cdb0581c257f85490cdcca735cedf
Compare aa38055cca67d9ece504cef2adc8a19f0cb2ec8e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Int32

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToString - Duration of single invocation 22.13 ns 17.38 ns 0.79 0.11 False
TryParseSpan - Duration of single invocation 14.52 ns 12.31 ns 0.85 0.07 False
TryParseSpan - Duration of single invocation 11.63 ns 9.12 ns 0.78 0.12 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_Int32*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Int32.ToString(value: -2147483648)


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.382329493152366 < 19.191402769743572.
IsChangePoint: Marked as a change because one of 3/6/2023 11:14:52 AM, 5/9/2023 7:00:05 PM, 5/10/2023 6:05:58 AM, 5/13/2023 1:49:08 AM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsImprovementStdDev: Marked as improvement because 32.16579382807309 (T) = (0 -17.487811910687952) / Math.Sqrt((1.2599758547005722 / (299)) + (0.059970939708336016 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.16600044480276868 = (20.968610596623503 - 17.487811910687952) / 20.968610596623503 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Int32.TryParseSpan(value: "12345")


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 12.311542144735535 < 13.736157919688534.
IsChangePoint: Marked as a change because one of 3/24/2023 7:28:10 PM, 4/4/2023 4:23:54 PM, 4/17/2023 6:40:18 PM, 5/13/2023 1:49:08 AM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsImprovementStdDev: Marked as improvement because 41.7421119886732 (T) = (0 -12.293244636029256) / Math.Sqrt((0.7508160170420962 / (299)) + (0.001795205623036886 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.15081008139621646 = (14.476437327755251 - 12.293244636029256) / 14.476437327755251 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Int32.TryParseSpan(value: "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 9.12107621021378 < 11.043906372592016.
IsChangePoint: Marked as a change because one of 4/19/2023 8:38:27 PM, 5/13/2023 1:49:08 AM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsImprovementStdDev: Marked as improvement because 26.76683472962395 (T) = (0 -9.123449627668144) / Math.Sqrt((1.2846194003592588 / (299)) + (1.4068279344399718E-05 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.16131579983455302 = (10.87828961827153 - 9.123449627668144) / 10.87828961827153 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 35cbe111b86cdb0581c257f85490cdcca735cedf
Compare aa38055cca67d9ece504cef2adc8a19f0cb2ec8e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_UInt64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParse - Duration of single invocation 14.84 ns 11.93 ns 0.80 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_UInt64*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_UInt64.TryParse(value: "12345")


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.934057163759705 < 14.101636268684116.
IsChangePoint: Marked as a change because one of 3/23/2023 6:11:55 PM, 3/25/2023 12:18:49 AM, 4/22/2023 1:37:24 AM, 5/13/2023 1:49:08 AM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsImprovementStdDev: Marked as improvement because 10.581025830073251 (T) = (0 -12.926015409468464) / Math.Sqrt((0.8552846234125282 / (299)) + (0.16303293351570655 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.11094462012482942 = (14.539044138379056 - 12.926015409468464) / 14.539044138379056 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 35cbe111b86cdb0581c257f85490cdcca735cedf
Compare aa38055cca67d9ece504cef2adc8a19f0cb2ec8e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ImmutableSortedDictionary - Duration of single invocation 291.33 μs 265.85 μs 0.91 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.TryGetValueFalse&lt;String, String&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.TryGetValueFalse<String, String>.ImmutableSortedDictionary(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 265.8485098870056 < 274.1326410443723.
IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 3/14/2023 8:42:09 PM, 3/25/2023 12:18:49 AM, 5/11/2023 5:02:01 PM, 5/13/2023 1:49:08 AM, 5/16/2023 7:34:13 AM falls between 5/7/2023 5:11:33 AM and 5/16/2023 7:34:13 AM.
IsImprovementStdDev: Marked as improvement because 5.578798543462919 (T) = (0 -275682.1597454247) / Math.Sqrt((143606347.84273577 / (299)) + (67295225.10312587 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.05691012167298717 = (292318.0134585571 - 275682.1597454247) / 292318.0134585571 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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions