Description
Run Information
Name | Value |
---|---|
Architecture | arm64 |
OS | Windows 10.0.19041 |
Queue | SurfaceWindows |
Baseline | 195bf987887ea645a747ff0586440f7920c47b01 |
Compare | 63a7a13190448f1ba5b3b449f1b9628d042d209d |
Diff | Diff |
Configs | CompilationMode:tiered, RunKind:micro |
Improvements in System.Text.Tests.Perf_Encoding
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
GetString - Duration of single invocation | 129.16 ns | 114.98 ns | 0.89 | 0.01 | False | |||||
GetString - Duration of single invocation | 26.40 ns | 22.88 ns | 0.87 | 0.16 | False |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Tests.Perf_Encoding*'
Payloads
Histogram
System.Text.Tests.Perf_Encoding.GetString(size: 512, encName: "ascii")
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 114.97745645410266 < 122.34706334558992.
IsChangePoint: Marked as a change because one of 1/17/2023 4:06:07 PM, 3/10/2023 4:14:40 PM, 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 21.423973091119187 (T) = (0 -115.38567268156699) / Math.Sqrt((10.993487965677453 / (299)) + (3.956987233545476 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.07954460862150213 = (125.35715881761789 - 115.38567268156699) / 125.35715881761789 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
JIT Disasms
System.Text.Tests.Perf_Encoding.GetString(size: 16, encName: "ascii")
Description of detection logic
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 22.8828568842538 < 25.779859557599295.
IsChangePoint: Marked as a change because one of 1/17/2023 4:06:07 PM, 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 27.938605733809762 (T) = (0 -23.347897237026938) / Math.Sqrt((0.609949847713902 / (299)) + (0.37444914691557907 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.14178179678098676 = (27.205082751045616 - 23.347897237026938) / 27.205082751045616 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 | 195bf987887ea645a747ff0586440f7920c47b01 |
Compare | 63a7a13190448f1ba5b3b449f1b9628d042d209d |
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 | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
IndexOf_Word_NotFound - Duration of single invocation | 604.69 ns | 530.81 ns | 0.88 | 0.00 | True | |||||
LastIndexOf_Word_NotFound - Duration of single invocation | 595.69 ns | 531.00 ns | 0.89 | 0.00 | True | |||||
IndexOf_Word_NotFound - Duration of single invocation | 602.91 ns | 531.46 ns | 0.88 | 0.00 | True | |||||
IndexOf_Word_NotFound - Duration of single invocation | 57.57 ns | 49.77 ns | 0.86 | 0.01 | False | |||||
IndexOf_Word_NotFound - Duration of single invocation | 604.62 ns | 531.39 ns | 0.88 | 0.00 | True | |||||
LastIndexOf_Word_NotFound - Duration of single invocation | 595.56 ns | 531.29 ns | 0.89 | 0.00 | True | |||||
LastIndexOf_Word_NotFound - Duration of single invocation | 595.51 ns | 531.39 ns | 0.89 | 0.00 | True |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Globalization.Tests.StringSearch*'
Payloads
Histogram
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, None, False))
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 530.8081069651131 < 574.7979674345416.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 344.6635845451417 (T) = (0 -531.848279259429) / Math.Sqrt((1.400664539825276 / (299)) + (0.8430996105046834 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.11847167526078893 = (603.3252299825641 - 531.848279259429) / 603.3252299825641 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
JIT Disasms
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, None, False))
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 530.995879356792 < 565.56231785509.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 341.22943130941354 (T) = (0 -533.1103308692918) / Math.Sqrt((1.3188149139482808 / (299)) + (0.6629724349567885 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.10631879171779116 = (596.5329984883658 - 533.1103308692918) / 596.5329984883658 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
JIT Disasms
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, IgnoreNonSpace, False))
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 531.4609721468909 < 573.2431821553147.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 462.3507178831892 (T) = (0 -531.7425047038703) / Math.Sqrt((1.4881752518733262 / (299)) + (0.41779860917697187 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.11864203274310094 = (603.3218334189943 - 531.7425047038703) / 603.3218334189943 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
JIT Disasms
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, Ordinal, False))
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 49.7662432153972 < 56.34270588827993.
IsChangePoint: Marked as a change because one of 1/13/2023 9:23:19 AM, 3/10/2023 12:53:36 AM, 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 17.42959440604296 (T) = (0 -49.43788696996368) / Math.Sqrt((16.552267342243127 / (299)) + (0.6450040428614418 / (23))) is greater than 1.9674049737480528 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (23) - 2, .975) and 0.09240756802909408 = (54.4714623309557 - 49.43788696996368) / 54.4714623309557 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
JIT Disasms
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, None, False))
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 531.3924080654064 < 573.7289675235664.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 403.7712282930817 (T) = (0 -532.3098901652849) / Math.Sqrt((1.5031281407513328 / (299)) + (0.5977455740283113 / (23))) is greater than 1.9674049737480528 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (23) - 2, .975) and 0.1178445988208496 = (603.4196349688075 - 532.3098901652849) / 603.4196349688075 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
JIT Disasms
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreNonSpace, False))
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 531.2891998856752 < 566.4585988855222.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 394.6969862121383 (T) = (0 -532.6617491874332) / Math.Sqrt((0.9716599302969746 / (299)) + (0.49897741438179627 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.10660140506799111 = (596.2195958322174 - 532.6617491874332) / 596.2195958322174 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
JIT Disasms
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, None, False))
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 531.3855787376117 < 565.6817943676607.
IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 392.7377643439643 (T) = (0 -532.616461939152) / Math.Sqrt((0.8576752947963743 / (299)) + (0.5182825909623949 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.10703914123566939 = (596.4611513613047 - 532.616461939152) / 596.4611513613047 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Name | Value |
---|---|
Architecture | arm64 |
OS | Windows 10.0.19041 |
Queue | SurfaceWindows |
Baseline | 195bf987887ea645a747ff0586440f7920c47b01 |
Compare | 63a7a13190448f1ba5b3b449f1b9628d042d209d |
Diff | Diff |
Configs | CompilationMode:tiered, RunKind:micro |
Improvements in System.Tests.Perf_GC<Byte>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
AllocateUninitializedArray - Duration of single invocation | 183.63 ns | 157.21 ns | 0.86 | 0.09 | False | |||||
AllocateArray - Duration of single invocation | 209.31 ns | 179.74 ns | 0.86 | 0.10 | False | |||||
AllocateUninitializedArray - Duration of single invocation | 254.36 ns | 207.55 ns | 0.82 | 0.05 | False | |||||
AllocateUninitializedArray - Duration of single invocation | 64.22 ns | 59.09 ns | 0.92 | 0.03 | False | |||||
AllocateUninitializedArray - Duration of single invocation | 436.15 ns | 390.76 ns | 0.90 | 0.04 | False | |||||
NewOperator_Array - Duration of single invocation | 63.87 ns | 59.23 ns | 0.93 | 0.05 | False |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_GC<Byte>*'
Payloads
Histogram
System.Tests.Perf_GC<Byte>.AllocateUninitializedArray(length: 1000, pinned: True)
Description of detection logic
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 157.2116178995845 < 170.8805044872005.
IsChangePoint: Marked as a change because one of 2/28/2023 5:58:27 PM, 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 10.538249805646803 (T) = (0 -159.71597754819447) / Math.Sqrt((64.00991975658552 / (299)) + (33.19723915045914 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.07970668628328673 = (173.54899266100568 - 159.71597754819447) / 173.54899266100568 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
JIT Disasms
System.Tests.Perf_GC<Byte>.AllocateArray(length: 1000, pinned: True)
Description of detection logic
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 179.73610029409372 < 193.02311345721935.
IsChangePoint: Marked as a change because one of 2/28/2023 5:58:27 PM, 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 4.778730839461287 (T) = (0 -186.65626220985115) / Math.Sqrt((102.38619198224646 / (299)) + (156.4999386539868 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.06533990100536272 = (199.70496484297027 - 186.65626220985115) / 199.70496484297027 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
JIT Disasms
System.Tests.Perf_GC<Byte>.AllocateUninitializedArray(length: 10000, pinned: False)
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 207.5501448002965 < 240.28330324880858.
IsChangePoint: Marked as a change because one of 2/28/2023 5:58:27 PM, 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 29.24007970576095 (T) = (0 -206.81880905024926) / Math.Sqrt((252.98920584209168 / (299)) + (11.185154813499233 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.14129518218471235 = (240.84971314873556 - 206.81880905024926) / 240.84971314873556 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
JIT Disasms
System.Tests.Perf_GC<Byte>.AllocateUninitializedArray(length: 1000, pinned: False)
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.088767888462385 < 61.08958696362288.
IsChangePoint: Marked as a change because one of 2/28/2023 5:58:27 PM, 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 21.452650524112844 (T) = (0 -59.32061623572468) / Math.Sqrt((3.084143203217368 / (299)) + (0.7261993564277489 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.0700036118093602 = (63.78585657857905 - 59.32061623572468) / 63.78585657857905 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
JIT Disasms
System.Tests.Perf_GC<Byte>.AllocateUninitializedArray(length: 10000, pinned: True)
Description of detection logic
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 390.76033379973734 < 409.5356360542349.
IsChangePoint: Marked as a change because one of 2/28/2023 5:58:27 PM, 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 10.454614868015456 (T) = (0 -396.6089036710557) / Math.Sqrt((131.1844783306618 / (299)) + (118.66516152407245 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.05985132567108397 = (421.8576428394771 - 396.6089036710557) / 421.8576428394771 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
JIT Disasms
System.Tests.Perf_GC<Byte>.NewOperator_Array(length: 1000)
Description of detection logic
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 59.232977454171376 < 61.29156664495877.
IsChangePoint: Marked as a change because one of 2/28/2023 3:00:37 PM, 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 18.368502134230372 (T) = (0 -58.622991945737596) / Math.Sqrt((3.321863154533336 / (299)) + (0.96366594718767 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.06840240076993766 = (62.92737550438918 - 58.622991945737596) / 62.92737550438918 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 | 195bf987887ea645a747ff0586440f7920c47b01 |
Compare | 63a7a13190448f1ba5b3b449f1b9628d042d209d |
Diff | Diff |
Configs | CompilationMode:tiered, RunKind:micro |
Improvements in System.Collections.CtorGivenSize<String>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
Queue - Duration of single invocation | 293.84 ns | 252.12 ns | 0.86 | 0.04 | False |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorGivenSize<String>*'
Payloads
Histogram
System.Collections.CtorGivenSize<String>.Queue(Size: 512)
Description of detection logic
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed: Marked as improvement because 252.11823288427883 < 259.70692903274215.
IsChangePoint: Marked as a change because one of 2/28/2023 5:58:27 PM, 4/25/2023 6:46:56 PM, 5/4/2023 2:44:24 AM falls between 4/25/2023 1:02:54 PM and 5/4/2023 2:44:24 AM.
IsImprovementStdDev: Marked as improvement because 12.819690858860984 (T) = (0 -253.02416874219622) / Math.Sqrt((49.357806386204075 / (299)) + (24.702254252968334 / (22))) is greater than 1.9674283869023508 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (22) - 2, .975) and 0.0543723132966547 = (267.5727163026403 - 253.02416874219622) / 267.5727163026403 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