Skip to content

[Perf] Windows/arm64: 7 Improvements on 7/17/2023 4:07:27 PM #19968

Closed
@performanceautofiler

Description

@performanceautofiler

Run Information

Name Value
Architecture arm64
OS Windows 10.0.19041
Queue SurfaceWindows
Baseline 73638d6bad697a901ebea1891857a9f7037be3ab
Compare 4f933e1f77e211a73a44a3e3a1e5fb079d498ab7
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
ToLowerInPlace_Chars - Duration of single invocation
📝 - Benchmark Source
28.47 ns 25.41 ns 0.89 0.02 False
ToUpperInPlace_Chars - Duration of single invocation
📝 - Benchmark Source
28.42 ns 25.30 ns 0.89 0.04 False
ToUpperInPlace_Bytes - Duration of single invocation
📝 - Benchmark Source
16.26 ns 13.75 ns 0.85 0.20 False
ToLowerInPlace_Bytes - Duration of single invocation
📝 - Benchmark Source
16.32 ns 13.76 ns 0.84 0.17 False
Equals_Bytes_Chars - Duration of single invocation
📝 - Benchmark Source
23.39 ns 21.36 ns 0.91 0.14 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.Text.Perf_Ascii*'

Payloads

Baseline
Compare

System.Text.Perf_Ascii.ToLowerInPlace_Chars(Size: 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 25.413991596909643 < 26.81302596485234.
IsChangePoint: Marked as a change because one of 7/1/2023 8:07:46 AM, 7/4/2023 5:42:46 PM, 7/14/2023 7:13:27 PM, 7/19/2023 6:59:29 PM falls between 7/10/2023 2:17:11 PM and 7/19/2023 6:59:29 PM.
IsImprovementStdDev: Marked as improvement because 37.67089674533383 (T) = (0 -25.372585785640425) / Math.Sqrt((0.6145284731997697 / (142)) + (0.002277563053806226 / (3))) is greater than 1.9766921979294603 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (142) + (3) - 2, .975) and 0.09575310155088691 = (28.05935616606185 - 25.372585785640425) / 28.05935616606185 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Perf_Ascii.ToUpperInPlace_Chars(Size: 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 25.301730548120435 < 26.87574483408083.
IsChangePoint: Marked as a change because one of 7/1/2023 8:07:46 AM, 7/4/2023 5:42:46 PM, 7/14/2023 7:13:27 PM, 7/19/2023 6:59:29 PM falls between 7/10/2023 2:17:11 PM and 7/19/2023 6:59:29 PM.
IsImprovementStdDev: Marked as improvement because 41.13739243134594 (T) = (0 -25.291251815896498) / Math.Sqrt((0.5168076165359163 / (143)) + (0.0016711358543144293 / (3))) is greater than 1.9765750658302461 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (143) + (3) - 2, .975) and 0.09506255650525652 = (27.948066463274163 - 25.291251815896498) / 27.948066463274163 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Perf_Ascii.ToUpperInPlace_Bytes(Size: 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 13.751105287251201 < 15.890215721511836.
IsChangePoint: Marked as a change because one of 7/1/2023 8:07:46 AM, 7/4/2023 5:42:46 PM, 7/14/2023 7:13:27 PM, 7/19/2023 6:59:29 PM falls between 7/10/2023 2:17:11 PM and 7/19/2023 6:59:29 PM.
IsImprovementStdDev: Marked as improvement because 35.696078039010764 (T) = (0 -13.826672920574318) / Math.Sqrt((0.8132204100450078 / (142)) + (0.004366053067378813 / (3))) is greater than 1.9766921979294603 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (142) + (3) - 2, .975) and 0.1795160632573684 = (16.851850842402843 - 13.826672920574318) / 16.851850842402843 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Perf_Ascii.ToLowerInPlace_Bytes(Size: 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 13.761233755074816 < 16.705462861883515.
IsChangePoint: Marked as a change because one of 7/1/2023 8:07:46 AM, 7/4/2023 5:42:46 PM, 7/14/2023 7:13:27 PM, 7/19/2023 6:59:29 PM falls between 7/10/2023 2:17:11 PM and 7/19/2023 6:59:29 PM.
IsImprovementStdDev: Marked as improvement because 21.220121165264803 (T) = (0 -13.686485323786252) / Math.Sqrt((0.7963634458838855 / (143)) + (0.04692974277335593 / (3))) is greater than 1.9765750658302461 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (143) + (3) - 2, .975) and 0.18421490929087672 = (16.777072147628047 - 13.686485323786252) / 16.777072147628047 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

System.Text.Perf_Ascii.Equals_Bytes_Chars(Size: 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 21.36067335883223 < 22.20336540009786.
IsChangePoint: Marked as a change because one of 5/11/2023 10:01:37 AM, 7/14/2023 7:13:27 PM, 7/19/2023 6:59:29 PM falls between 7/10/2023 2:17:11 PM and 7/19/2023 6:59:29 PM.
IsImprovementStdDev: Marked as improvement because 9.289905689642906 (T) = (0 -21.057196989139392) / Math.Sqrt((1.0421426533782319 / (142)) + (0.2071627542047016 / (3))) is greater than 1.9766921979294603 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (142) + (3) - 2, .975) and 0.10868498689052722 = (23.624865148045153 - 21.057196989139392) / 23.624865148045153 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 arm64
OS Windows 10.0.19041
Queue SurfaceWindows
Baseline 73638d6bad697a901ebea1891857a9f7037be3ab
Compare 4f933e1f77e211a73a44a3e3a1e5fb079d498ab7
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
Reverse - Duration of single invocation
📝 - Benchmark Source
24.05 ns 16.63 ns 0.69 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.Memory.Span&lt;Byte&gt;*'

Payloads

Baseline
Compare

System.Memory.Span<Byte>.Reverse(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 16.63030669590635 < 22.760977678306077.
IsChangePoint: Marked as a change because one of 3/10/2023 4:14:40 PM, 4/6/2023 11:23:56 PM, 4/12/2023 8:39:35 PM, 4/27/2023 10:53:57 PM, 7/1/2023 8:07:46 AM, 7/4/2023 5:42:46 PM, 7/14/2023 7:13:27 PM, 7/19/2023 6:59:29 PM falls between 7/10/2023 2:17:11 PM and 7/19/2023 6:59:29 PM.
IsImprovementStdDev: Marked as improvement because 23.520791253006653 (T) = (0 -16.348907261445493) / Math.Sqrt((6.034652465128291 / (299)) + (0.10734385075420141 / (3))) is greater than 1.9679030112610798 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (3) - 2, .975) and 0.253922758085784 = (21.913156363674865 - 16.348907261445493) / 21.913156363674865 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 arm64
OS Windows 10.0.19041
Queue SurfaceWindows
Baseline 73638d6bad697a901ebea1891857a9f7037be3ab
Compare 4f933e1f77e211a73a44a3e3a1e5fb079d498ab7
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Reflection.Invoke

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
Ctor4_int_string_struct_class - Duration of single invocation
📝 - Benchmark Source
69.12 ns 59.67 ns 0.86 0.37 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.Reflection.Invoke*'

Payloads

Baseline
Compare

System.Reflection.Invoke.Ctor4_int_string_struct_class

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 59.67333491161616 < 65.81530948477916.
IsChangePoint: Marked as a change because one of 4/28/2023 10:02:43 PM, 7/14/2023 7:13:27 PM, 7/19/2023 6:59:29 PM falls between 7/10/2023 2:17:11 PM and 7/19/2023 6:59:29 PM.
IsImprovementStdDev: Marked as improvement because 47.99528716877275 (T) = (0 -59.50391300527647) / Math.Sqrt((9.89880157099839 / (299)) + (0.10355932982010752 / (3))) is greater than 1.9679030112610798 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (3) - 2, .975) and 0.17338569814075547 = (71.98509978769853 - 59.50391300527647) / 71.98509978769853 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions