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: 43 Improvements on 8/9/2023 9:46:11 AM #20581

Closed
performanceautofiler bot opened this issue Aug 15, 2023 · 4 comments
Closed

[Perf] Windows/x64: 43 Improvements on 8/9/2023 9:46:11 AM #20581

performanceautofiler bot opened this issue Aug 15, 2023 · 4 comments

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Aug 15, 2023

Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
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
14.03 ns 9.78 ns 0.70 0.15 False
11.16 ns 9.77 ns 0.88 0.17 False
12.21 ns 10.07 ns 0.82 0.31 False
11.54 ns 9.78 ns 0.85 0.28 False
19.13 ns 17.56 ns 0.92 0.18 False
11.12 ns 9.89 ns 0.89 0.30 False
11.12 ns 9.81 ns 0.88 0.30 False

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

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

System.Tests.Perf_Enum.ToString_NonFlags_Small(value: TopDirectoryOnly)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 6/5/2023 10:43:22 AM, 6/8/2023 1:48:44 PM, 6/22/2023 7:55:14 AM, 7/25/2023 12:56:24 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 11.176719418566778 (T) = (0 -9.926866318004539) / Math.Sqrt((0.48331444527669004 / (299)) + (0.03301273024604195 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.09261915321327935 = (10.940132088040253 - 9.926866318004539) / 10.940132088040253 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Enum.ToString_NonFlags_Small(value: AllDirectories)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 6/5/2023 10:43:22 AM, 6/9/2023 2:21:24 AM, 6/22/2023 7:55:14 AM, 7/23/2023 3:42:40 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 24.280436856442925 (T) = (0 -9.844324164208913) / Math.Sqrt((0.44667722761191825 / (299)) + (0.0019242573498576315 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.09658164593087085 = (10.896750237438313 - 9.844324164208913) / 10.896750237438313 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Enum.ToString_NonFlags_Large(value: Control)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 6/5/2023 10:43:22 AM, 6/9/2023 2:21:24 AM, 6/22/2023 1:44:15 PM, 7/23/2023 9:45:14 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 7.60813437886186 (T) = (0 -10.051249517798658) / Math.Sqrt((0.5941379887697102 / (299)) + (0.09309561805306545 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.09800765606335762 = (11.143386732010528 - 10.051249517798658) / 11.143386732010528 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Enum.ToString_NonFlags_Large(value: UppercaseLetter)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 6/5/2023 10:43:22 AM, 6/9/2023 2:21:24 AM, 6/22/2023 7:55:14 AM, 7/23/2023 4:13:29 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 26.415822103817295 (T) = (0 -9.856716725401935) / Math.Sqrt((0.6124270355496472 / (299)) + (0.0021547872926601934 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.11773065588566614 = (11.172004095072124 - 9.856716725401935) / 11.172004095072124 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Enum.ToString_Format_NonFlags(value: Thursday, format: "f")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 6/5/2023 10:43:22 AM, 6/9/2023 2:21:24 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 9.05862216393716 (T) = (0 -16.912456478867636) / Math.Sqrt((1.0654911049804068 / (299)) + (0.2765494129318853 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.1150141634836814 = (19.110426157148765 - 16.912456478867636) / 19.110426157148765 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Enum.ToString_NonFlags_Large(value: Format)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 6/5/2023 10:43:22 AM, 6/9/2023 2:21:24 AM, 6/22/2023 7:55:14 AM, 7/23/2023 4:13:29 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 28.47275585620712 (T) = (0 -9.882938365381127) / Math.Sqrt((0.5990771697855342 / (299)) + (0.0005519338334837177 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.11696899696769547 = (11.192062715174648 - 9.882938365381127) / 11.192062715174648 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Enum.ToString_NonFlags_Large(value: OtherNotAssigned)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/19/2023 3:32:16 PM, 6/5/2023 10:43:22 AM, 6/9/2023 2:21:24 AM, 6/22/2023 7:55:14 AM, 7/23/2023 6:20:38 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 15.685393220234161 (T) = (0 -9.920265150710978) / Math.Sqrt((0.7021552798580761 / (299)) + (0.021365509861314767 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.11399475966727822 = (11.196621305519162 - 9.920265150710978) / 11.196621305519162 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_UInt32

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
17.27 ns 14.13 ns 0.82 0.05 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Tests.Perf_UInt32.ParseSpan(value: "4294967295")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 5/19/2023 10:30:38 AM, 6/5/2023 10:43:22 AM, 6/9/2023 2:21:24 AM, 7/12/2023 2:12:47 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 51.05647804627756 (T) = (0 -14.135265895331198) / Math.Sqrt((1.6909550720688082 / (299)) + (0.0007362071910747857 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.21577426107624442 = (18.024486055163084 - 14.135265895331198) / 18.024486055163084 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
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
16.40 ns 14.19 ns 0.87 0.11 False
12.66 ns 11.49 ns 0.91 0.06 False
15.54 ns 14.04 ns 0.90 0.07 False

graph
graph
graph
Test Report

Repro

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

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

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

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 6/5/2023 10:43:22 AM, 6/8/2023 8:02:22 AM, 7/23/2023 4:13:29 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 17.019399872012748 (T) = (0 -14.042335298358363) / Math.Sqrt((1.1377310743198736 / (299)) + (0.014455053531429514 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.09022953502447222 = (15.435030965460165 - 14.042335298358363) / 15.435030965460165 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)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/26/2023 9:55:14 AM, 6/2/2023 6:53:36 PM, 6/5/2023 10:43:22 AM, 6/8/2023 8:02:22 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 17.235819805819556 (T) = (0 -11.167394569003505) / Math.Sqrt((1.08972124333885 / (299)) + (0.04286466770435404 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.1457349313479467 = (13.07251692571787 - 11.167394569003505) / 13.07251692571787 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")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 6/5/2023 10:43:22 AM, 6/8/2023 8:02:22 AM, 7/14/2023 2:26:40 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 5.459545924141745 (T) = (0 -13.405606379185247) / Math.Sqrt((1.1437532984397607 / (299)) + (0.18315789903590826 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.07571339288262785 = (14.503733231615367 - 13.405606379185247) / 14.503733231615367 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 Aug 15, 2023

Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Int64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
26.39 ns 23.29 ns 0.88 0.13 False
15.04 ns 12.55 ns 0.83 0.09 False
16.05 ns 14.55 ns 0.91 0.02 False
24.16 ns 21.10 ns 0.87 0.12 False
25.01 ns 21.23 ns 0.85 0.15 False

graph
graph
graph
graph
graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Tests.Perf_Int64.Parse(value: "-9223372036854775808")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 14.404173888395025 (T) = (0 -23.279834456243282) / Math.Sqrt((1.0146132710325007 / (299)) + (0.1464244140129994 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.10059847656702323 = (25.883694712218364 - 23.279834456243282) / 25.883694712218364 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Int64.ParseSpan(value: "12345")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 7/12/2023 2:12:47 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 14.16197347403245 (T) = (0 -12.429287003224688) / Math.Sqrt((1.5004941324452714 / (299)) + (0.00745253836461114 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.08418567794976 = (13.571841697560654 - 12.429287003224688) / 13.571841697560654 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

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

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/15/2023 2:12:16 PM, 5/19/2023 10:30:38 AM, 6/5/2023 10:43:22 AM, 6/9/2023 2:21:24 AM, 6/26/2023 10:42:28 PM, 7/14/2023 2:26:40 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 32.529366930324024 (T) = (0 -14.561173051041518) / Math.Sqrt((0.21668876126249886 / (299)) + (8.388103637533839E-05 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.05734356444652979 = (15.446956602478492 - 14.561173051041518) / 15.446956602478492 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Int64.Parse(value: "9223372036854775807")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 6/26/2023 10:42:28 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 13.56404677801619 (T) = (0 -21.800928610631217) / Math.Sqrt((1.2614421737546246 / (299)) + (0.1801758621978048 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.11097678491196125 = (24.522338945302234 - 21.800928610631217) / 24.522338945302234 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_Int64.TryParseSpan(value: "9223372036854775807")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 6/22/2023 7:55:14 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 19.46126366404235 (T) = (0 -21.567816061515934) / Math.Sqrt((1.3771941688604976 / (299)) + (0.12629400111011138 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.1348997417482728 = (24.931001760538283 - 21.567816061515934) / 24.931001760538283 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.IO.Compression.Brotli

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
5.25 μs 4.67 μs 0.89 0.50 False
165.58 μs 156.43 μs 0.94 0.07 False

graph
graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.IO.Compression.Brotli.Compress(level: Optimal, file: "sum")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 4.803752738191802 (T) = (0 -4038.269921991244) / Math.Sqrt((160753.8554135706 / (299)) + (214362.82768204846 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.19861880351816746 = (5039.137354008021 - 4038.269921991244) / 5039.137354008021 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.IO.Compression.Brotli.Compress_WithoutState(level: Fastest, file: "sum")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 6/29/2023 8:27:03 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 18.380253742319862 (T) = (0 -154875.01824726717) / Math.Sqrt((9142043.949324057 / (299)) + (842396.3190993182 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.05028622625226132 = (163075.4681340494 - 154875.01824726717) / 163075.4681340494 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in PerfLabTests.BlockCopyPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
8.82 ns 7.26 ns 0.82 0.03 False
7.62 ns 5.85 ns 0.77 0.06 False

graph
graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

PerfLabTests.BlockCopyPerf.CallBlockCopy(numElements: 100)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/16/2023 5:40:18 PM, 5/26/2023 9:55:14 AM, 6/9/2023 2:21:24 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 42.524010880404674 (T) = (0 -7.258059873556299) / Math.Sqrt((0.2789330069056744 / (299)) + (2.03422441277413E-06 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.1518145903663407 = (8.557161902479713 - 7.258059873556299) / 8.557161902479713 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

PerfLabTests.BlockCopyPerf.CallBlockCopy(numElements: 10)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/26/2023 9:55:14 AM, 6/9/2023 2:21:24 AM, 6/26/2023 10:42:28 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 39.048473389419975 (T) = (0 -5.870078268235609) / Math.Sqrt((0.36330182741174843 / (299)) + (0.0008147751424000455 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.19803500751705258 = (7.31961908968293 - 5.870078268235609) / 7.31961908968293 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.Span<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
9.34 ns 7.80 ns 0.83 0.05 False
12.74 ns 9.63 ns 0.76 0.20 False
7.98 ns 6.45 ns 0.81 0.03 False

graph
graph
graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Memory.Span<Byte>.EndsWith(Size: 512)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 7/14/2023 2:26:40 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 27.237858041621323 (T) = (0 -7.799482322704122) / Math.Sqrt((0.2604768795623412 / (299)) + (4.23517559639046E-06 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.09348505144655168 = (8.603809937331953 - 7.799482322704122) / 8.603809937331953 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Memory.Span<Byte>.IndexOfAnyThreeValues(Size: 512)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/22/2023 7:40:07 AM, 6/5/2023 10:43:22 AM, 6/9/2023 2:21:24 AM, 7/1/2023 6:36:20 PM, 7/14/2023 2:26:40 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 20.692485990344213 (T) = (0 -9.220904326866332) / Math.Sqrt((1.5240804656008382 / (299)) + (0.05118538784834533 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.21745953489086803 = (11.783293948358821 - 9.220904326866332) / 11.783293948358821 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Memory.Span<Byte>.IndexOfAnyFiveValues(Size: 4)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 6/5/2023 10:43:22 AM, 6/9/2023 2:21:24 AM, 6/19/2023 6:37:24 PM, 7/14/2023 2:26:40 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 41.56598777723858 (T) = (0 -6.460999661970473) / Math.Sqrt((0.15160496864079023 / (299)) + (0.00044669039372840765 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.13577668795911252 = (7.476076578763702 - 6.460999661970473) / 7.476076578763702 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Globalization.Tests.StringSearch

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
28.37 ns 26.18 ns 0.92 0.04 False
10.51 ns 8.57 ns 0.82 0.07 False

graph
graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, OrdinalIgnoreCase, False))

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/26/2023 6:22:05 AM, 6/6/2023 4:05:41 PM, 7/1/2023 6:36:20 PM, 7/5/2023 7:07:19 PM, 7/14/2023 2:26:40 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 7.434718545288674 (T) = (0 -25.996358869817676) / Math.Sqrt((0.973335675445067 / (299)) + (0.27323707071464026 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.06438693600873956 = (27.78537396530037 - 25.996358869817676) / 27.78537396530037 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, OrdinalIgnoreCase, False))

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/26/2023 9:55:14 AM, 6/5/2023 10:43:22 AM, 7/1/2023 6:36:20 PM, 7/5/2023 7:07:19 PM, 7/14/2023 2:26:40 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 19.668778494820536 (T) = (0 -8.576953768799918) / Math.Sqrt((0.7838093922430979 / (299)) + (2.963832496620528E-05 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.1051815037296629 = (9.585132409029574 - 8.576953768799918) / 9.585132409029574 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 Aug 15, 2023

Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
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
15.96 ns 12.30 ns 0.77 0.12 False
15.25 ns 12.43 ns 0.81 0.07 False

graph
graph
Test Report

Repro

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

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

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

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 6/30/2023 8:34:57 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 4.547055882264164 (T) = (0 -12.827573991336559) / Math.Sqrt((1.2384304438854268 / (299)) + (0.9888154287803332 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.13739509171044179 = (14.870740785340644 - 12.827573991336559) / 14.870740785340644 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

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

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 6/22/2023 7:55:14 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 15.078041619726946 (T) = (0 -12.595944710706762) / Math.Sqrt((0.7808396793389795 / (299)) + (0.09247333569643973 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.14814430194207928 = (14.786477028237615 - 12.595944710706762) / 14.786477028237615 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
10.29 ms 5.92 ms 0.58 0.12 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[^\\n]*", Options: NonBacktracking)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 7/14/2023 8:09:31 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 7.8080841400392735 (T) = (0 -5958379.452380952) / Math.Sqrt((3043070236358.9053 / (299)) + (1918943118.8888998 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.11868739769620093 = (6760801.373775235 - 5958379.452380952) / 6760801.373775235 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_SByte

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
13.42 ns 11.63 ns 0.87 0.07 False
13.43 ns 10.52 ns 0.78 0.09 False

graph
graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Tests.Perf_SByte.TryParse(value: "-128")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 29.617254230604885 (T) = (0 -11.572786202706382) / Math.Sqrt((0.4738130113586172 / (299)) + (0.013406577339323114 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.14321481109994266 = (13.50722019082 - 11.572786202706382) / 13.50722019082 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_SByte.TryParse(value: "127")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 7/12/2023 2:12:47 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 10.371415906795592 (T) = (0 -10.73654593420098) / Math.Sqrt((1.3151636006783063 / (299)) + (0.09269250845995199 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.12762746791198668 = (12.307294807303462 - 10.73654593420098) / 12.307294807303462 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
16.68 ns 14.38 ns 0.86 0.08 False

graph
Test Report

Repro

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

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark*'

Payloads

Baseline
Compare

Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_0Injected

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 19.475389631573083 (T) = (0 -14.375305266181755) / Math.Sqrt((0.3553739453176062 / (52)) + (0.0016850765476878044 / (5))) is greater than 2.0040447832881534 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (52) + (5) - 2, .975) and 0.10291878036352987 = (16.024530389798095 - 14.375305266181755) / 16.024530389798095 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
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
14.47 ns 10.85 ns 0.75 0.12 False

graph
Test Report

Repro

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

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

System.Tests.Perf_Int32.ToString(value: 2147483647)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 6/2/2023 6:53:36 PM, 6/5/2023 10:43:22 AM, 7/12/2023 9:48:15 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 18.593701030984285 (T) = (0 -10.930126146650844) / Math.Sqrt((2.0469992677279127 / (299)) + (0.022645075538416527 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.15357126126193163 = (12.91322665029835 - 10.930126146650844) / 12.91322665029835 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Float

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
14.90 ns 13.79 ns 0.93 0.04 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Runtime.Intrinsics.Tests.Perf_Vector128Float.GetHashCodeBenchmark

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/26/2023 6:22:05 AM, 6/13/2023 11:57:38 AM, 6/20/2023 9:17:03 AM, 6/30/2023 8:34:57 AM, 7/13/2023 3:06:28 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 34.873006354042175 (T) = (0 -13.794424445462516) / Math.Sqrt((0.29744680513499955 / (299)) + (1.0852767598209865E-05 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.07392231489674359 = (14.895537023899303 - 13.794424445462516) / 14.895537023899303 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_UInt16

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
14.73 ns 11.28 ns 0.77 0.07 False
15.53 ns 11.38 ns 0.73 0.11 False

graph
graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Tests.Perf_UInt16.Parse(value: "12345")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/2/2023 3:18:41 PM, 5/13/2023 1:49:08 AM, 7/12/2023 2:12:47 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 25.779641733574348 (T) = (0 -11.33606063824414) / Math.Sqrt((1.7493134928586358 / (299)) + (0.005743566190157131 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.15984535312311404 = (13.492826208107966 - 11.33606063824414) / 13.492826208107966 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Tests.Perf_UInt16.Parse(value: "65535")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 7/12/2023 2:12:47 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 30.998889978683327 (T) = (0 -11.356936435872525) / Math.Sqrt((1.5330089917535197 / (299)) + (0.0012704545650067437 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.1668250212818306 = (13.630913944805505 - 11.356936435872525) / 13.630913944805505 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Strings

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
15.74 ms 10.98 ms 0.70 0.24 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

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

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/18/2023 1:58:11 PM, 7/29/2023 11:09:12 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 12.181927945038812 (T) = (0 -10807403.561914276) / Math.Sqrt((1789344841007.3965 / (299)) + (14222751061.342083 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.09576987553482127 = (11952049.892505502 - 10807403.561914276) / 11952049.892505502 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
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
7.92 ns 6.06 ns 0.77 0.07 False

graph
Test Report

Repro

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

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

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

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 6/30/2023 8:34:57 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 65.21830767582611 (T) = (0 -6.060971373069252) / Math.Sqrt((0.32842448311599187 / (299)) + (4.578306153569152E-06 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.262956328039171 = (8.22335446818865 - 6.060971373069252) / 8.22335446818865 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 Aug 15, 2023

Run Information

Name Value
Architecture x64
OS Windows 10.0.19042
Queue OwlWindows
Baseline 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
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
6.52 ns 4.67 ns 0.72 0.08 False

graph
Test Report

Repro

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

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

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

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/11/2023 1:19:27 PM, 7/6/2023 4:13:54 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 29.57592580240059 (T) = (0 -4.6587993051395165) / Math.Sqrt((0.4416308537705101 / (298)) + (0.00013619083977795644 / (5))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (298) + (5) - 2, .975) and 0.19783548704548556 = (5.80778534814552 - 4.6587993051395165) / 5.80778534814552 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.Primitives.StringSegmentBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
9.10 ns 6.16 ns 0.68 0.23 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

Microsoft.Extensions.Primitives.StringSegmentBenchmark.TrimStart

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 6/5/2023 10:43:22 AM, 6/9/2023 2:21:24 AM, 6/30/2023 8:34:57 AM, 7/23/2023 4:13:29 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 16.27036438756564 (T) = (0 -6.5201538575280695) / Math.Sqrt((0.5825475455811778 / (299)) + (0.04205863469319318 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.20254683957633265 = (8.176221728263101 - 6.5201538575280695) / 8.176221728263101 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.Span<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.89 ns 3.85 ns 0.79 0.09 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Memory.Span<Int32>.EndsWith(Size: 4)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 6/2/2023 6:53:36 PM, 6/8/2023 1:48:44 PM, 6/26/2023 10:42:28 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 39.4050019005037 (T) = (0 -3.854492559116946) / Math.Sqrt((0.09251235720838473 / (299)) + (4.169884772946607E-06 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.15259013291318307 = (4.548557562077637 - 3.854492559116946) / 4.548557562077637 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.Span<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
5.00 ns 3.77 ns 0.75 0.07 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Memory.Span<Char>.EndsWith(Size: 33)

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 10:30:38 AM, 7/5/2023 7:07:19 PM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 43.812598880061614 (T) = (0 -3.7660794097959838) / Math.Sqrt((0.12859653853577827 / (299)) + (7.605837058146475E-05 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.19710398428378623 = (4.690619128850076 - 3.7660794097959838) / 4.690619128850076 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Byte

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
12.57 ns 9.70 ns 0.77 0.05 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Tests.Perf_Byte.TryParse(value: "255")

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/13/2023 1:49:08 AM, 7/12/2023 2:12:47 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 25.19364755027364 (T) = (0 -9.757151461865256) / Math.Sqrt((0.7883189028011262 / (299)) + (0.012440007714597008 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.1560037686672621 = (11.560657618645914 - 9.757151461865256) / 11.560657618645914 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 4415472b81adecf3a12b24f8c808da3f33de966b
Compare f465d33afd016e7f57b4b37e1efb10ebb074086d
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.CtorDefaultSizeNonGeneric

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
20.37 ns 15.70 ns 0.77 0.08 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Collections.CtorDefaultSizeNonGeneric.SortedList

ETL Files

Histogram

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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 5/16/2023 12:30:38 AM, 5/19/2023 10:30:38 AM, 5/22/2023 7:40:07 AM, 7/23/2023 4:13:29 AM, 8/8/2023 9:37:01 AM, 8/14/2023 10:44:26 PM falls between 8/5/2023 9:09:13 PM and 8/14/2023 10:44:26 PM.
IsImprovementStdDev: Marked as improvement because 17.0313046167123 (T) = (0 -15.774676076439913) / Math.Sqrt((3.013609370268511 / (299)) + (0.006480613128262082 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.10325982715404311 = (17.591133478916536 - 15.774676076439913) / 17.591133478916536 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

@cincuranet
Copy link

Probably dotnet/runtime#87438. That PR allows more methods to be pre-jitted which allows static PGO.

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