Closed
Description
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 |
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
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 |
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<Byte>*'
Payloads
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 |
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
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