-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Run Information
| Name | Value |
|---|---|
| Architecture | arm64 |
| OS | Windows 10.0.19041 |
| Queue | SurfaceWindows |
| Baseline | 7b651743dc951384f6c3d8455c88518022c7c3b9 |
| Compare | b0b7aaefb88aa8d01b3d64fb40ac2f73a9d98c3e |
| 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 | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| IndexOfAnyTwoValues - Duration of single invocation | 9.75 ns | 7.71 ns | 0.79 | 0.11 | False | |||||
| LastIndexOfAnyValues - Duration of single invocation | 10.56 ns | 8.42 ns | 0.80 | 0.05 | False | |||||
| IndexOfAnyTwoValues - Duration of single invocation | 170.89 ns | 115.24 ns | 0.67 | 0.00 | False | |||||
| IndexOfAnyThreeValues - Duration of single invocation | 15.07 ns | 10.88 ns | 0.72 | 0.06 | False | |||||
| LastIndexOfAnyValues - Duration of single invocation | 170.56 ns | 115.62 ns | 0.68 | 0.00 | False | |||||
| IndexOfAnyThreeValues - Duration of single invocation | 252.49 ns | 155.39 ns | 0.62 | 0.00 | 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.Memory.Span<Int32>*'Details
Payloads
Histogram
System.Memory.Span<Int32>.IndexOfAnyTwoValues(Size: 33)
Description of detection logic
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 7.713417825918208 < 9.427041598930302.
IsChangePoint: Marked as a change because one of 1/22/2023 11:22:03 PM, 1/23/2023 5:59:53 PM, 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 42.94630600066601 (T) = (0 -7.663342411179041) / Math.Sqrt((0.21713412601231957 / (299)) + (0.009065006566404065 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.23463377418147713 = (10.012647739954112 - 7.663342411179041) / 10.012647739954112 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Memory.Span<Int32>.LastIndexOfAnyValues(Size: 33)
```log
Description of detection logic
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 8.4244826277459 < 10.028925124867936.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 42.97016930168148 (T) = (0 -8.374470166338915) / Math.Sqrt((0.1436897242549493 / (299)) + (0.01062906322470161 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.22325577510683176 = (10.781502968355795 - 8.374470166338915) / 10.781502968355795 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Memory.Span<Int32>.IndexOfAnyTwoValues(Size: 512)
```log
Description of detection logic
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 115.2359930660664 < 162.30780524602037.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 1143.7436802222292 (T) = (0 -115.35213273049544) / Math.Sqrt((0.16997234879716197 / (299)) + (0.0070999268481325185 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.3243191724678359 = (170.71985474533003 - 115.35213273049544) / 170.71985474533003 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Memory.Span<Int32>.IndexOfAnyThreeValues(Size: 33)
```log
Description of detection logic
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 10.875713969596083 < 14.301534700739262.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 99.72388272818766 (T) = (0 -10.774436622786125) / Math.Sqrt((0.2106755828149204 / (299)) + (0.004585694726832849 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.2847991503963613 = (15.064910267874083 - 10.774436622786125) / 15.064910267874083 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Memory.Span<Int32>.LastIndexOfAnyValues(Size: 512)
```log
Description of detection logic
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 115.62251870376808 < 162.04743605350194.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 1198.180985889514 (T) = (0 -115.59950475209583) / Math.Sqrt((0.07432439355261873 / (299)) + (0.007403539204558961 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.3219970924100606 = (170.50001328609517 - 115.59950475209583) / 170.50001328609517 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Memory.Span<Int32>.IndexOfAnyThreeValues(Size: 512)
```log
Description of detection logic
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 155.38627922454324 < 239.84998975328955.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 1479.5651007540978 (T) = (0 -155.31210072155585) / Math.Sqrt((0.7894163820124774 / (299)) + (0.006806827552689129 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.38564508636646533 = (252.80517380902756 - 155.31210072155585) / 252.80517380902756 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
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 | 7b651743dc951384f6c3d8455c88518022c7c3b9 |
| Compare | b0b7aaefb88aa8d01b3d64fb40ac2f73a9d98c3e |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Improvements in System.Tests.Perf_Uri
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| CtorIdnHostPathAndQuery - Duration of single invocation | 649.30 ns | 603.85 ns | 0.93 | 0.00 | False | |||||
| CtorIdnHostPathAndQuery - Duration of single invocation | 637.20 ns | 604.79 ns | 0.95 | 0.00 | False | |||||
| CtorIdnHostPathAndQuery - Duration of single invocation | 1.28 μs | 1.22 μs | 0.95 | 0.00 | False | |||||
| CtorIdnHostPathAndQuery - Duration of single invocation | 797.56 ns | 671.35 ns | 0.84 | 0.00 | False | |||||
| CtorIdnHostPathAndQuery - Duration of single invocation | 1.19 μs | 1.12 μs | 0.94 | 0.00 | False | |||||
| Ctor - Duration of single invocation | 255.70 ns | 238.69 ns | 0.93 | 0.02 | False | |||||
| Ctor - Duration of single invocation | 250.34 ns | 227.30 ns | 0.91 | 0.00 | False | |||||
| CtorIdnHostPathAndQuery - Duration of single invocation | 758.65 ns | 699.77 ns | 0.92 | 0.00 | False | |||||
| CtorIdnHostPathAndQuery - Duration of single invocation | 631.11 ns | 572.14 ns | 0.91 | 0.00 | False | |||||
| CtorIdnHostPathAndQuery - Duration of single invocation | 760.99 ns | 701.31 ns | 0.92 | 0.00 | 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_Uri*'Details
Payloads
Histogram
System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "https://CONTOSO.com/path/with?key=value#fragment")
Description of detection logic
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 603.8454369716081 < 618.1553316137944.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 31.27384177631292 (T) = (0 -606.8638415809386) / Math.Sqrt((19.090412145309976 / (255)) + (7.20889405430911 / (4))) is greater than 1.9692374962334795 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (255) + (4) - 2, .975) and 0.06594824116257525 = (649.711149129762 - 606.8638415809386) / 649.711149129762 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "https://contoso.com/path/with?key=value#fragment")
```log
Description of detection logic
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 604.7903396854448 < 605.3085055803903.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 14.274775805660052 (T) = (0 -596.497359650761) / Math.Sqrt((22.746124097959154 / (255)) + (30.700186890458045 / (4))) is greater than 1.9692374962334795 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (255) + (4) - 2, .975) and 0.06251372339656164 = (636.2731642450299 - 596.497359650761) / 636.2731642450299 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path%20with%20escapable%20values?key=%C3%BCnicode")
```log
Description of detection logic
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 1.2154290649645694 < 1.2195048532037709.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 36.82595264294716 (T) = (0 -1210.8957759931363) / Math.Sqrt((93.39310786693947 / (255)) + (15.0735681432244 / (4))) is greater than 1.9692374962334795 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (255) + (4) - 2, .975) and 0.0582380962721497 = (1285.7769795103754 - 1210.8957759931363) / 1285.7769795103754 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path?key1=value1&key2=value2&key3=value3&key4=value4")
```log
Description of detection logic
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 671.3466112408665 < 757.4880363969224.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 313.20805664591296 (T) = (0 -671.8133287162838) / Math.Sqrt((35.823319599275194 / (255)) + (0.10116910650753275 / (4))) is greater than 1.9692374962334795 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (255) + (4) - 2, .975) and 0.15953766740054912 = (799.3378199811101 - 671.8133287162838) / 799.3378199811101 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path with escapable values?key=ünicode")
```log
Description of detection logic
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 1.1247676856168451 < 1.1296784021999273.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 66.35712209944576 (T) = (0 -1122.9424008124938) / Math.Sqrt((116.40892691954228 / (255)) + (3.0643556894834423 / (4))) is greater than 1.9692374962334795 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (255) + (4) - 2, .975) and 0.06133149224959776 = (1196.3141317095206 - 1122.9424008124938) / 1196.3141317095206 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Tests.Perf_Uri.Ctor(input: "https://a.much.longer.domain.name")
```log
Description of detection logic
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 238.68900195380317 < 243.87282984515065.
IsChangePoint: Marked as a change because one of 1/17/2023 4:06:07 PM, 2/20/2023 3:29:46 AM, 2/23/2023 8:54:44 PM, 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 78.06594360496005 (T) = (0 -238.903020229442) / Math.Sqrt((8.030450079824709 / (255)) + (0.08406168310386412 / (4))) is greater than 1.9692374962334795 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (255) + (4) - 2, .975) and 0.06966125037865947 = (256.7914325042126 - 238.903020229442) / 256.7914325042126 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Tests.Perf_Uri.Ctor(input: "http://xn--hst-sna.with.xn--nicode-2ya")
```log
Description of detection logic
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 227.29660521967065 < 236.74044912096707.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 116.71310731641563 (T) = (0 -227.09764970889984) / Math.Sqrt((2.00717942484255 / (254)) + (0.10117872584714142 / (4))) is greater than 1.9692738896555546 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (254) + (4) - 2, .975) and 0.0856213811886835 = (248.36281714911993 - 227.09764970889984) / 248.36281714911993 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "https://a.much.longer.domain.name/path/with?key=value#fragment")
```log
Description of detection logic
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 699.769050383567 < 721.1646247915216.
IsChangePoint: Marked as a change because one of 1/11/2023 5:39:19 AM, 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 44.47511403350738 (T) = (0 -699.6028345170715) / Math.Sqrt((27.6052441932513 / (254)) + (6.519893697756675 / (4))) is greater than 1.9692738896555546 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (254) + (4) - 2, .975) and 0.07734161075623093 = (758.2468686926277 - 699.6028345170715) / 758.2468686926277 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://dot.net/path/with?key=value#fragment")
```log
Description of detection logic
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 572.1374042896794 < 587.3812193104736.
IsChangePoint: Marked as a change because one of 3/8/2023 8:26:35 PM, 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 33.13341388050706 (T) = (0 -573.6942402737893) / Math.Sqrt((32.38130157258675 / (255)) + (6.916886189151199 / (4))) is greater than 1.9692374962334795 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (255) + (4) - 2, .975) and 0.07294638207292385 = (618.8360944608462 - 573.6942402737893) / 618.8360944608462 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://xn--hst-sna.with.xn--nicode-2ya/path/with?key=value#fragment")
```log
Description of detection logic
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 701.3111975160144 < 723.7854408670003.
IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 38.96832732606338 (T) = (0 -701.3937441347945) / Math.Sqrt((23.34000512989029 / (255)) + (8.647850755110978 / (4))) is greater than 1.9692374962334795 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (255) + (4) - 2, .975) and 0.07698181658781755 = (759.8915782372843 - 701.3937441347945) / 759.8915782372843 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
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 | 7b651743dc951384f6c3d8455c88518022c7c3b9 |
| Compare | b0b7aaefb88aa8d01b3d64fb40ac2f73a9d98c3e |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Improvements in MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| DataContractJsonSerializer_ - Duration of single invocation | 112.45 μs | 104.16 μs | 0.93 | 0.01 | 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 'MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>*'Details
Payloads
Histogram
MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.DataContractJsonSerializer_
Description of detection logic
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 104.16239583333333 < 106.43023860945618.
IsChangePoint: Marked as a change because one of 12/16/2022 10:05:39 PM, 12/19/2022 11:10:20 AM, 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 25.082735671816565 (T) = (0 -103314.4244818823) / Math.Sqrt((937420.4035081507 / (299)) + (456269.5040307732 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.0767375068367945 = (111901.46382738346 - 103314.4244818823) / 111901.46382738346 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
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 | 7b651743dc951384f6c3d8455c88518022c7c3b9 |
| Compare | b0b7aaefb88aa8d01b3d64fb40ac2f73a9d98c3e |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Improvements in MicroBenchmarks.Serializers.Json_ToStream<Location>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| DataContractJsonSerializer_ - Duration of single invocation | 3.15 μs | 2.83 μs | 0.90 | 0.00 | 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 'MicroBenchmarks.Serializers.Json_ToStream<Location>*'Details
Payloads
Histogram
MicroBenchmarks.Serializers.Json_ToStream<Location>.DataContractJsonSerializer_
Description of detection logic
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 2.8306692990349958 < 2.9311323045409843.
IsChangePoint: Marked as a change because one of 3/8/2023 8:26:35 PM, 3/21/2023 2:53:21 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 8.619798005475532 (T) = (0 -2850.640454478934) / Math.Sqrt((1244.351284799456 / (299)) + (1704.5007995019193 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.05902190534332609 = (3029.4440122105298 - 2850.640454478934) / 3029.4440122105298 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
_1.png)

_1.png)
_1.png)