Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Perf] Linux/arm64: 29 Improvements on 3/21/2023 8:47:40 PM #14419

Closed
performanceautofiler bot opened this issue Mar 23, 2023 · 3 comments
Closed

[Perf] Linux/arm64: 29 Improvements on 3/21/2023 8:47:40 PM #14419

performanceautofiler bot opened this issue Mar 23, 2023 · 3 comments

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Mar 23, 2023

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
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 674.62 ns 627.58 ns 0.93 0.00 False
Ctor - Duration of single invocation 264.68 ns 242.71 ns 0.92 0.00 False
Ctor - Duration of single invocation 278.73 ns 261.38 ns 0.94 0.00 False
ParseAbsoluteUri - Duration of single invocation 507.76 ns 476.04 ns 0.94 0.03 False
CtorIdnHostPathAndQuery - Duration of single invocation 815.32 ns 751.15 ns 0.92 0.00 False
CtorIdnHostPathAndQuery - Duration of single invocation 753.43 ns 698.35 ns 0.93 0.00 False
CtorIdnHostPathAndQuery - Duration of single invocation 845.86 ns 721.82 ns 0.85 0.00 False
CtorIdnHostPathAndQuery - Duration of single invocation 663.66 ns 622.16 ns 0.94 0.00 False
CtorIdnHostPathAndQuery - Duration of single invocation 817.15 ns 745.29 ns 0.91 0.00 False
CtorIdnHostPathAndQuery - Duration of single invocation 685.81 ns 637.87 ns 0.93 0.00 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

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 627.5834890385441 < 640.4693278195316.
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 44.91504425819641 (T) = (0 -625.7170733249238) / Math.Sqrt((29.384186167440692 / (254)) + (4.981243553689693 / (4))) is greater than 1.9692738896555546 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (254) + (4) - 2, .975) and 0.0772709989894619 = (678.1157551563482 - 625.7170733249238) / 678.1157551563482 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 242.7101245170988 < 251.59763660875828.
IsChangePoint: Marked as a change because one of 1/17/2023 4:06:07 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 72.79912271057725 (T) = (0 -243.37299126261104) / Math.Sqrt((2.7124195696177527 / (254)) + (0.32615660899771287 / (4))) is greater than 1.9692738896555546 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (254) + (4) - 2, .975) and 0.08327253510009817 = (265.4802005841345 - 243.37299126261104) / 265.4802005841345 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 261.38415099127405 < 265.39305582061263.
IsChangePoint: Marked as a change because one of 1/17/2023 4:06:07 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 57.12598021127305 (T) = (0 -260.7675075634821) / Math.Sqrt((2.986918410861068 / (254)) + (0.35515068874779826 / (4))) is greater than 1.9692738896555546 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (254) + (4) - 2, .975) and 0.06495291497266097 = (278.88168600178864 - 260.7675075634821) / 278.88168600178864 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Uri.ParseAbsoluteUri

```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 476.03555146293064 < 489.5343572693668.
IsChangePoint: Marked as a change because one of 1/9/2023 6:56:09 PM, 2/17/2023 12:28:21 PM, 3/3/2023 4:59:02 PM, 3/21/2023 12:49:42 AM, 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 17.772098699570897 (T) = (0 -477.4942150516154) / Math.Sqrt((76.90490921852543 / (299)) + (13.594763335940126 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.05581930502587557 = (505.7233404509518 - 477.4942150516154) / 505.7233404509518 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 751.1515319820794 < 773.8075804083803.
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 29.060932076780226 (T) = (0 -751.3848469817742) / Math.Sqrt((24.122787623644385 / (253)) + (16.584768916495744 / (4))) is greater than 1.969310569849703 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (253) + (4) - 2, .975) and 0.07377753811392321 = (811.2358292971228 - 751.3848469817742) / 811.2358292971228 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=va%20lue")

```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 698.3493525636035 < 708.9548635703214.
IsChangePoint: Marked as a change because one of 3/3/2023 4:59:02 PM, 3/8/2023 10:34:21 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 21.185451554986518 (T) = (0 -699.6447435548675) / Math.Sqrt((76.0959462664605 / (254)) + (19.026660512596177 / (4))) is greater than 1.9692738896555546 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (254) + (4) - 2, .975) and 0.06374811658165533 = (747.2826019856943 - 699.6447435548675) / 747.2826019856943 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 721.8157163698862 < 804.3911908872162.
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 91.9172970061303 (T) = (0 -719.7644205918757) / Math.Sqrt((37.24847817959369 / (252)) + (7.5299579485091 / (4))) is greater than 1.9693475402190106 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (252) + (4) - 2, .975) and 0.15395102296692614 = (850.7361159113352 - 719.7644205918757) / 850.7361159113352 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 622.1576229792813 < 629.4464465482736.
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 19.891168016055037 (T) = (0 -616.5044541054342) / Math.Sqrt((54.452124547550895 / (254)) + (25.212050108449816 / (4))) is greater than 1.9692738896555546 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (254) + (4) - 2, .975) and 0.07610020475950881 = (667.2849775282806 - 616.5044541054342) / 667.2849775282806 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 745.2899948774151 < 777.0812220082811.
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 46.5874421542252 (T) = (0 -746.3108473205353) / Math.Sqrt((34.79410451001779 / (254)) + (7.15961906101055 / (4))) is greater than 1.9692738896555546 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (254) + (4) - 2, .975) and 0.07974199783883532 = (810.980013830767 - 746.3108473205353) / 810.980013830767 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 637.8665805929223 < 654.3062015903757.
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 33.39985624876313 (T) = (0 -641.1457272598251) / Math.Sqrt((23.7752760047961 / (254)) + (8.930497854750149 / (4))) is greater than 1.9692738896555546 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (254) + (4) - 2, .975) and 0.0736054493367132 = (692.0871099692597 - 641.1457272598251) / 692.0871099692597 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 ubuntu 20.04
Queue AmpereUbuntu
Baseline 7b651743dc951384f6c3d8455c88518022c7c3b9
Compare b0b7aaefb88aa8d01b3d64fb40ac2f73a9d98c3e
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
IsSuffix_SecondHalf - Duration of single invocation 230.38 ns 193.58 ns 0.84 0.01 False
IsPrefix_FirstHalf - Duration of single invocation 229.17 ns 191.98 ns 0.84 0.00 False
IsSuffix_SecondHalf - Duration of single invocation 229.82 ns 192.92 ns 0.84 0.00 False
IsPrefix_FirstHalf - Duration of single invocation 228.95 ns 193.14 ns 0.84 0.01 False
IsSuffix_SecondHalf - Duration of single invocation 275.43 ns 237.95 ns 0.86 0.01 False
IsPrefix_FirstHalf - Duration of single invocation 275.06 ns 237.53 ns 0.86 0.00 False
IsSuffix_SecondHalf - Duration of single invocation 276.69 ns 238.60 ns 0.86 0.01 False
IsSuffix_SecondHalf - Duration of single invocation 230.00 ns 192.48 ns 0.84 0.01 False
IsPrefix_FirstHalf - Duration of single invocation 229.33 ns 191.51 ns 0.84 0.00 False
IsPrefix_FirstHalf - Duration of single invocation 276.71 ns 238.39 ns 0.86 0.00 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, None, False))


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 193.5804018105032 < 218.84193331022624.
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 355.8824774837549 (T) = (0 -193.43009727673154) / Math.Sqrt((0.9169105005717608 / (299)) + (0.03043171118603613 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.1597266192762092 = (230.1990063163915 - 193.43009727673154) / 230.1990063163915 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, None, False))

```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 191.97631213827427 < 217.86405451671433.
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 643.1910492973828 (T) = (0 -192.01825908728995) / Math.Sqrt((0.9257061784682077 / (299)) + (0.0012839264793802919 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.1637418244801903 = (229.61600222076552 - 192.01825908728995) / 229.61600222076552 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreNonSpace, False))

```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 192.9181219323585 < 218.42818424423362.
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 232.5627109994062 (T) = (0 -192.73974838369884) / Math.Sqrt((0.7563867012948795 / (299)) + (0.09248940917332155 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.16195594134361802 = (229.98760792208745 - 192.73974838369884) / 229.98760792208745 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreNonSpace, False))

```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 193.13629059489963 < 217.84253243940864.
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 93.96777833623321 (T) = (0 -192.51349998739684) / Math.Sqrt((1.0940115024244947 / (299)) + (0.4525802728913346 / (3))) is greater than 1.9679030112610798 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (3) - 2, .975) and 0.16098282800419253 = (229.45120363800947 - 192.51349998739684) / 229.45120363800947 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreCase, False))

```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 237.95092540036615 < 260.5981309022443.
IsChangePoint: Marked as a change because one of 11/30/2022 2:05:04 AM, 2/16/2023 5:39:51 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 13.692925329447949 (T) = (0 -237.46566735822452) / Math.Sqrt((320.4700363666071 / (299)) + (0.10960960530607579 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.05700894846278314 = (251.8217611621233 - 237.46566735822452) / 251.8217611621233 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreCase, False))

```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 237.52837574659313 < 261.3675140631503.
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 257.187858522537 (T) = (0 -237.18793166564544) / Math.Sqrt((0.4795050823225292 / (299)) + (0.08048931822592491 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.13780186511934603 = (275.09678120386695 - 237.18793166564544) / 275.09678120386695 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (, IgnoreCase, False))

```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.60159571826597 < 262.7723432171461.
IsChangePoint: Marked as a change because one of 11/30/2022 2:05:04 AM, 2/16/2023 5:39:51 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 13.423854469550967 (T) = (0 -238.31894416355112) / Math.Sqrt((330.44602818067 / (299)) + (0.051075399907540564 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.05620873064404094 = (252.51234240191627 - 238.31894416355112) / 252.51234240191627 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (, None, False))

```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 192.4843169170663 < 218.34034174886395.
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 396.22334063363303 (T) = (0 -192.49243394130883) / Math.Sqrt((1.7603584224818531 / (299)) + (0.012578758492521448 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.16361679782379432 = (230.14861302864298 - 192.49243394130883) / 230.14861302864298 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, None, False))

```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 191.51408841754048 < 217.67897173560104.
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 202.36495044325082 (T) = (0 -191.79210644324718) / Math.Sqrt((0.2791637418715514 / (299)) + (0.13432090782078424 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.16389392893474 = (229.38729077626488 - 191.79210644324718) / 229.38729077626488 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, IgnoreCase, False))

```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.38834225004447 < 263.25056816516246.
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 77.02733669237959 (T) = (0 -239.26702787078088) / Math.Sqrt((2.4743429346364962 / (299)) + (0.87087478912437 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.13272888652283937 = (275.884927046036 - 239.26702787078088) / 275.884927046036 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 ubuntu 20.04
Queue AmpereUbuntu
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
LastIndexOfAnyValues - Duration of single invocation 179.56 ns 120.87 ns 0.67 0.00 False
LastIndexOfAnyValues - Duration of single invocation 12.30 ns 8.86 ns 0.72 0.04 False
IndexOfAnyThreeValues - Duration of single invocation 266.91 ns 163.19 ns 0.61 0.00 False
IndexOfAnyTwoValues - Duration of single invocation 179.18 ns 121.13 ns 0.68 0.00 False
IndexOfAnyTwoValues - Duration of single invocation 10.68 ns 8.23 ns 0.77 0.05 False
IndexOfAnyThreeValues - Duration of single invocation 15.90 ns 11.51 ns 0.72 0.05 False

graph
graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Memory.Span<Int32>.LastIndexOfAnyValues(Size: 512)


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 120.86966481040697 < 170.60110458235815.
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 481.26592049331504 (T) = (0 -121.00097631330611) / Math.Sqrt((0.3213726561811616 / (299)) + (0.05547762570745406 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.32715220903043224 = (179.83409908940143 - 121.00097631330611) / 179.83409908940143 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Int32&gt;.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.863139007957594 < 11.679361500630097.
IsChangePoint: Marked as a change because one of 2/7/2023 2:48:42 AM, 2/14/2023 11:21:41 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 58.33101025917544 (T) = (0 -8.80572037471409) / Math.Sqrt((0.23768292111288922 / (299)) + (0.012128416725980957 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.2906764935999378 = (12.414251459682513 - 8.80572037471409) / 12.414251459682513 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Int32&gt;.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 163.19123223904538 < 253.91414223011702.
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 1781.5254097851478 (T) = (0 -163.19557853187456) / Math.Sqrt((0.9798475145348821 / (299)) + (0.0002005177846354029 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.38638475004992884 = (265.9575011298261 - 163.19557853187456) / 265.9575011298261 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Int32&gt;.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 121.13320027811696 < 170.1472895073886.
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 787.2223852105701 (T) = (0 -121.11391778902262) / Math.Sqrt((0.41674485663668953 / (299)) + (0.01631520589852649 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.3247073595630697 = (179.35027058885026 - 121.11391778902262) / 179.35027058885026 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Int32&gt;.IndexOfAnyTwoValues(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.225477629871937 < 10.148265307850544.
IsChangePoint: Marked as a change because one of 2/7/2023 2:48:42 AM, 2/14/2023 11:21:41 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 63.61032234648901 (T) = (0 -8.202100495255854) / Math.Sqrt((0.44083909457598897 / (299)) + (0.0012966299300079598 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.24749714635636352 = (10.899759988339035 - 8.202100495255854) / 10.899759988339035 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Int32&gt;.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 11.506679798038531 < 15.146330450447904.
IsChangePoint: Marked as a change because one of 2/7/2023 2:48:42 AM, 2/14/2023 11:21:41 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 69.50753884824972 (T) = (0 -11.446970821863587) / Math.Sqrt((0.5597990004002362 / (299)) + (0.011459257257288509 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.29474266820900047 = (16.230913605384334 - 11.446970821863587) / 16.230913605384334 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Mar 23, 2023

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
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.20 μs 2.96 μs 0.92 0.00 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;Location&gt;*'

Payloads

Baseline
Compare

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.9589887815188947 < 3.0345380803836184.
IsChangePoint: Marked as a change because one of 1/15/2023 4:47:52 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 24.402028048391713 (T) = (0 -2954.645893745175) / Math.Sqrt((1161.593442883319 / (299)) + (288.94243932802055 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.06721308820939065 = (3167.546474331781 - 2954.645893745175) / 3167.546474331781 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 ubuntu 20.04
Queue AmpereUbuntu
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 116.48 μs 107.79 μs 0.93 0.00 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;IndexViewModel&gt;*'

Payloads

Baseline
Compare

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 107.78762241404114 < 110.76771637916445.
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 19.00507796506463 (T) = (0 -108765.36830793932) / Math.Sqrt((1002178.0874455189 / (299)) + (796398.7323778608 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.07289043273581787 = (117316.62809703955 - 108765.36830793932) / 117316.62809703955 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 ubuntu 20.04
Queue AmpereUbuntu
Baseline 7b651743dc951384f6c3d8455c88518022c7c3b9
Compare b0b7aaefb88aa8d01b3d64fb40ac2f73a9d98c3e
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 Baseline ETL Compare ETL
IndexOfAnyFiveValues - Duration of single invocation 5.47 ns 4.41 ns 0.80 0.07 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

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


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 4.406364436851184 < 5.1288155296862.
IsChangePoint: Marked as a change because one of 2/7/2023 2:48:42 AM, 2/14/2023 11:21:41 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 22.07352562960786 (T) = (0 -4.2680090744592745) / Math.Sqrt((0.3336405499196287 / (299)) + (0.008707195394189437 / (4))) is greater than 1.9678765312856872 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (4) - 2, .975) and 0.22885298037953616 = (5.534624352902076 - 4.2680090744592745) / 5.534624352902076 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

@kunalspathak
Copy link
Member

dotnet/runtime#83638

@EgorBo
Copy link
Member

EgorBo commented Mar 24, 2023

dotnet/runtime#83638

I don't think it's dotnet/runtime#83638 - it's x64 only, arm64 is not landed yet 🙂.

Although, it could be in theory. That PR added [Intrinsic] attribute so that increased inliner's benefit multiplier

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants