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: 75 Improvements on 8/17/2022 8:19:48 PM #8026

Closed
performanceautofiler bot opened this issue Aug 25, 2022 · 3 comments
Closed

[Perf] Linux/arm64: 75 Improvements on 8/17/2022 8:19:48 PM #8026

performanceautofiler bot opened this issue Aug 25, 2022 · 3 comments
Assignees
Labels
arch-arm64 branch-refs/heads/main kind-micro os-linux perf-improvement PGO Applied if there were any profile guided optimization updates in the observed interval. runtime-coreclr

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Aug 25, 2022

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.IO.Tests.StringReaderReadLineTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadLine - Duration of single invocation 10.35 μs 8.55 μs 0.83 0.21 False
ReadLine - Duration of single invocation 11.06 μs 9.28 μs 0.84 0.23 False
ReadLineAsync - Duration of single invocation 14.30 μs 12.34 μs 0.86 0.19 False
ReadLineAsync - Duration of single invocation 11.35 μs 9.66 μs 0.85 0.21 False
ReadLine - Duration of single invocation 10.71 μs 9.11 μs 0.85 0.20 False
ReadLineAsync - Duration of single invocation 13.35 μs 11.53 μs 0.86 0.17 False

graph
graph
graph
graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [1025, 2048])


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.553345606859255 < 9.598787562062375.
IsChangePoint: Marked as a change because one of 6/20/2022 1:54:42 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 55.43335051208128 (T) = (0 -8510.686989889466) / Math.Sqrt((135360.3257476758 / (299)) + (10255.409322193493 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.15334109859206993 = (10052.084701096077 - 8510.686989889466) / 10052.084701096077 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [   0, 1024])

```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 9.277890783487472 < 10.43891515083659.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 56.82798356408841 (T) = (0 -9259.41057717304) / Math.Sqrt((156721.12757781317 / (299)) + (5763.639887074056 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.14006024557443028 = (10767.510781447967 - 9259.41057717304) / 10767.510781447967 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.StringReaderReadLineTests.ReadLineAsync(LineLengthRange: [   0, 1024])

```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 12.344115447294287 < 13.267071962911075.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 39.048273619888086 (T) = (0 -12338.713350295096) / Math.Sqrt((192886.24009272372 / (299)) + (25401.33525738812 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.10717930695852838 = (13819.923134019433 - 12338.713350295096) / 13819.923134019433 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.StringReaderReadLineTests.ReadLineAsync(LineLengthRange: [1025, 2048])

```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 9.662658844509684 < 10.703981403434728.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 58.6652534623474 (T) = (0 -9724.381317647401) / Math.Sqrt((132036.79818072182 / (299)) + (6733.754844569388 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.13348354625518796 = (11222.385074884243 - 9724.381317647401) / 11222.385074884243 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 129, 1024])

```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 9.111326648598176 < 10.18900388722092.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 61.18803455220625 (T) = (0 -9122.968170004156) / Math.Sqrt((131676.81126737737 / (299)) + (3986.4218945138405 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.13749946554783524 = (10577.347845701684 - 9122.968170004156) / 10577.347845701684 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.IO.Tests.StringReaderReadLineTests.ReadLineAsync(LineLengthRange: [ 129, 1024])

```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.530345762919422 < 12.59879652572273.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 43.69244518131854 (T) = (0 -11649.195828026703) / Math.Sqrt((154441.35496742863 / (299)) + (16425.837125614 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.10743235361387733 = (13051.331039381286 - 11649.195828026703) / 13051.331039381286 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
Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Count - Duration of single invocation 151.38 μs 126.16 μs 0.83 0.32 False
Count - Duration of single invocation 575.31 μs 349.63 μs 0.61 0.43 False
Count - Duration of single invocation 577.29 μs 367.89 μs 0.64 0.53 False
Count - Duration of single invocation 373.14 μs 328.58 μs 0.88 0.40 False
Count - Duration of single invocation 2.41 ms 1.89 ms 0.78 0.40 False
Count - Duration of single invocation 429.55 μs 355.12 μs 0.83 0.40 False
Count - Duration of single invocation 371.81 μs 294.87 μs 0.79 0.40 False
Count - Duration of single invocation 146.80 μs 117.63 μs 0.80 0.20 False
Count - Duration of single invocation 328.27 μs 264.01 μs 0.80 0.44 False
Count - Duration of single invocation 1.10 ms 857.14 μs 0.78 0.46 False
Count - Duration of single invocation 1.91 ms 1.75 ms 0.92 0.46 False
Count - Duration of single invocation 320.97 μs 259.28 μs 0.81 0.43 False
Count - Duration of single invocation 296.76 μs 234.63 μs 0.79 0.44 False
Count - Duration of single invocation 2.97 ms 2.51 ms 0.84 0.52 False

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

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock*'

Payloads

Baseline
Compare

Histogram

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Street", Options: Compiled)


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 126.16022634408601 < 145.40599610264684.
IsChangePoint: Marked as a change because one of 5/31/2022 5:02:26 PM, 6/6/2022 8:15:49 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 29.77724182501913 (T) = (0 -128194.41835238064) / Math.Sqrt((118901375.01589216 / (299)) + (16557284.225845803 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.18180347510283512 = (156679.25058529523 - 128194.41835238064) / 156679.25058529523 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sherlock Holmes", Options: None)

```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 349.6296160714286 < 487.67128873906483.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 6.78939450061183 (T) = (0 -399016.3547291373) / Math.Sqrt((3493643722.4197664 / (299)) + (4026009547.496633 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.16633348054966735 = (478628.2589256717 - 399016.3547291373) / 478628.2589256717 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes", Options: NonBacktracking)

```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 367.89078676780446 < 482.9886179766789.
IsChangePoint: Marked as a change because one of 5/13/2022 2:40:35 AM, 6/7/2022 11:31:29 PM, 8/17/2022 8:19:48 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 10.7608552799174 (T) = (0 -410790.5409792561) / Math.Sqrt((9889671195.336958 / (299)) + (3998740791.2854867 / (31))) is greater than 1.9672228266464409 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (31) - 2, .975) and 0.2500844248265777 = (547782.3832159486 - 410790.5409792561) / 547782.3832159486 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sherlock Holmes", Options: Compiled)

```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 328.579103422619 < 354.0364952842504.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 26.005390664277233 (T) = (0 -311554.2134586916) / Math.Sqrt((415869150.8080063 / (299)) + (224678080.56887573 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.19490680625449835 = (386979.06761484453 - 311554.2134586916) / 386979.06761484453 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sher[a-z]+|Hol[a-z]+", Options: Compiled)

```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.8858819795698927 < 2.2304295553961486.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 13.242313059014874 (T) = (0 -1985015.8030279535) / Math.Sqrt((76450304257.98004 / (299)) + (21500049175.7915 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.1688661497922542 = (2388322.654084886 - 1985015.8030279535) / 2388322.654084886 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson", Options: Compiled)

```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 355.1188429629629 < 407.70145587435644.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 20.87163788537541 (T) = (0 -366722.86702422437) / Math.Sqrt((1110750198.1230404 / (299)) + (510279595.6989404 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.20150835362810537 = (459269.5098195486 - 366722.86702422437) / 459269.5098195486 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sherlock", Options: Compiled)

```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 294.86623368710696 < 353.37880440076947.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 32.78287119692669 (T) = (0 -302654.39559392596) / Math.Sqrt((427441785.5899171 / (299)) + (165093534.34596804 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.2175495415270054 = (386803.2695444727 - 302654.39559392596) / 386803.2695444727 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-q][^u-z]{13}x", Options: Compiled)

```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 117.63381134085215 < 136.76920150945216.
IsChangePoint: Marked as a change because one of 5/31/2022 5:02:26 PM, 6/6/2022 8:15:49 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 28.18628600766121 (T) = (0 -120051.27388162853) / Math.Sqrt((108271375.94380279 / (299)) + (14599098.667819245 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.1751836254492154 = (145549.09139262835 - 120051.27388162853) / 145549.09139262835 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sher[a-z]+|Hol[a-z]+", Options: Compiled)

```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 264.0123918055556 < 311.8996716420201.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 19.93410108042615 (T) = (0 -279138.0249850746) / Math.Sqrt((586681623.7272221 / (299)) + (354795528.51385117 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.20507054389157992 = (351148.1715014006 - 279138.0249850746) / 351148.1715014006 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Holmes", Options: Compiled)

```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 857.1355638706141 < 0.9894544389759329.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 22.701958614169673 (T) = (0 -869731.6942853085) / Math.Sqrt((9081107262.400482 / (299)) + (566010458.3943772 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.15322670431046595 = (1027112.804233014 - 869731.6942853085) / 1027112.804233014 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)the", Options: Compiled)

```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.7455747023809527 < 1.8401754127199073.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/17/2022 8:19:48 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 9.156970979581235 (T) = (0 -1832212.0361486056) / Math.Sqrt((76171370333.39659 / (299)) + (36717451431.08727 / (31))) is greater than 1.9672228266464409 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (31) - 2, .975) and 0.15938022087336215 = (2179596.6281595025 - 1832212.0361486056) / 2179596.6281595025 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes", Options: Compiled)

```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 259.2770450819672 < 305.57616636692177.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 21.20145695237939 (T) = (0 -270814.0525085061) / Math.Sqrt((576118146.0501378 / (299)) + (334150736.1874262 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.2158926295816507 = (345378.7870454746 - 270814.0525085061) / 345378.7870454746 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Holmes.{0,25}Watson|Watson.{0,25}Holmes", Options: Compiled)

```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 234.63461138814014 < 282.7088764592233.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 31.828472142371503 (T) = (0 -242084.72437331613) / Math.Sqrt((457315221.50163186 / (299)) + (89242404.72760457 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.21458694747642568 = (308226.00107737567 - 242084.72437331613) / 308226.00107737567 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sher[a-z]+|Hol[a-z]+", Options: NonBacktracking)

```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 2.5065930464646464 < 2.822610902103174.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/17/2022 8:19:48 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 7.01138030924829 (T) = (0 -2809927.7548232847) / Math.Sqrt((432329595511.9288 / (299)) + (326036632485.5754 / (31))) is greater than 1.9672228266464409 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (31) - 2, .975) and 0.21440359687359908 = (3576808.3250391013 - 2809927.7548232847) / 3576808.3250391013 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

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.IO.Tests.Perf_FileInfo

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ctor_str - Duration of single invocation 352.67 ns 287.15 ns 0.81 0.37 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.IO.Tests.Perf_FileInfo.ctor_str


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 287.1476573829905 < 324.28224051158816.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 30.67435530206066 (T) = (0 -277.2926671543672) / Math.Sqrt((798.9594086932964 / (299)) + (94.04851519806884 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.2076299248718961 = (349.9534824173374 - 277.2926671543672) / 349.9534824173374 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 Aug 25, 2022

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Remove_Int - Duration of single invocation 14.89 ns 7.53 ns 0.51 0.82 False
IndexOfAny - Duration of single invocation 27.25 ns 20.07 ns 0.74 0.30 False

graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_String.Remove_Int(s: "dzsdzsDDZSDZSDZSddsz", i: 0)


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.529954416610656 < 12.796865552656191.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 12.314378086678513 (T) = (0 -7.154957753705426) / Math.Sqrt((20.798014209948622 / (299)) + (3.7186461526967527 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.42588240339277755 = (12.462529969448799 - 7.154957753705426) / 12.462529969448799 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.IndexOfAny

```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 20.074421003420404 < 22.317426773747048.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/18/2022 5:47:38 AM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 16.141037872652966 (T) = (0 -15.729853241278143) / Math.Sqrt((27.896645022380465 / (299)) + (6.2602208431314015 / (29))) is greater than 1.9672675222597202 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (29) - 2, .975) and 0.36328645024747447 = (24.704756554013873 - 15.729853241278143) / 24.704756554013873 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
Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

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
LastIndexOfValue - Duration of single invocation 142.17 ns 84.34 ns 0.59 0.26 False
IndexOfValue - Duration of single invocation 92.84 ns 77.74 ns 0.84 0.21 False
Reverse - Duration of single invocation 236.53 ns 170.79 ns 0.72 0.02 False

graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Memory.Span<Int32>.LastIndexOfValue(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 84.34264039310068 < 131.2729979860996.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 77.44431032354065 (T) = (0 -79.6076576800246) / Math.Sqrt((83.40356775036837 / (299)) + (8.164021976274812 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.415525827996188 = (136.2038931628024 - 79.6076576800246) / 136.2038931628024 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Int32&gt;.IndexOfValue(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 77.74256049166762 < 88.45039365604214.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 32.11449574024764 (T) = (0 -79.04098732852381) / Math.Sqrt((23.842390155436934 / (299)) + (4.804451739852278 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.16304297172969123 = (94.43852510788194 - 79.04098732852381) / 94.43852510788194 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Int32&gt;.Reverse(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 170.78908012518318 < 222.15376697745447.
IsChangePoint: Marked as a change because one of 6/22/2022 6:55:40 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 32.2113767408331 (T) = (0 -166.00018868112005) / Math.Sqrt((4041.782095940129 / (299)) + (9.673876012789831 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.4190652682764249 = (285.7467106306661 - 166.00018868112005) / 285.7467106306661 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

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<SimpleStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
XmlSerializer_ - Duration of single invocation 16.93 μs 15.63 μs 0.92 0.01 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Xml_FromStream<SimpleStructWithProperties>.XmlSerializer_


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 15.628527610836926 < 15.94269782073909.
IsChangePoint: Marked as a change because one of 5/23/2022 1:47:22 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 23.447530704162464 (T) = (0 -15699.96647758001) / Math.Sqrt((556473.298531878 / (299)) + (14441.1181564748 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.06700527936019315 = (16827.497659165383 - 15699.96647758001) / 16827.497659165383 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 performanceautofiler bot added arm64 PGO Applied if there were any profile guided optimization updates in the observed interval. untriaged labels Aug 25, 2022
@performanceautofiler
Copy link
Author

performanceautofiler bot commented Aug 25, 2022

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Collections.ContainsFalse<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Stack - Duration of single invocation 122.46 μs 84.28 μs 0.69 0.44 False
ImmutableArray - Duration of single invocation 101.90 μs 88.30 μs 0.87 0.00 False
List - Duration of single invocation 97.82 μs 83.02 μs 0.85 0.01 False
ICollection - Duration of single invocation 97.22 μs 84.40 μs 0.87 0.00 False
Queue - Duration of single invocation 101.36 μs 88.51 μs 0.87 0.02 False
Span - Duration of single invocation 93.49 μs 81.49 μs 0.87 0.00 False
Array - Duration of single invocation 100.54 μs 84.98 μs 0.85 0.00 False

graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Collections.ContainsFalse<Int32>.Stack(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 84.28483270609318 < 116.4307637927559.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 60.4014351674628 (T) = (0 -84874.21361696311) / Math.Sqrt((208732117.67769462 / (299)) + (1325926.4576495795 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.37965244904029005 = (136817.19785249137 - 84874.21361696311) / 136817.19785249137 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.ContainsFalse&lt;Int32&gt;.ImmutableArray(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 88.30363740740741 < 93.60161360278809.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 73.01114500206194 (T) = (0 -86543.56775031186) / Math.Sqrt((1909914.886130251 / (299)) + (809717.2544420562 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.13057415075938983 = (99541.05669379664 - 86543.56775031186) / 99541.05669379664 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.ContainsFalse&lt;Int32&gt;.List(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 83.01896133156966 < 91.15045893277093.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 72.4626854651256 (T) = (0 -83084.9534849522) / Math.Sqrt((10014075.17524189 / (299)) + (14736.150936954078 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.13845405879276243 = (96437.05519467687 - 83084.9534849522) / 96437.05519467687 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.ContainsFalse&lt;Int32&gt;.ICollection(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 84.39538286290322 < 92.44431812564699.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 367.47429928008495 (T) = (0 -84358.7202468196) / Math.Sqrt((160866.30252180123 / (299)) + (21904.70654556242 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.13217783593504043 = (97207.38158112433 - 84358.7202468196) / 97207.38158112433 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.ContainsFalse&lt;Int32&gt;.Queue(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 88.51428338222512 < 96.30236434038977.
IsChangePoint: Marked as a change because one of 6/20/2022 12:28:47 PM, 7/2/2022 7:35:06 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 24.358775551094208 (T) = (0 -88741.42744012736) / Math.Sqrt((170238483.53281572 / (299)) + (57497.920914310336 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.17180609088034876 = (107150.54344514222 - 88741.42744012736) / 107150.54344514222 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.ContainsFalse&lt;Int32&gt;.Span(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 81.49076833767361 < 88.82917560577877.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 275.0270420247976 (T) = (0 -80921.49293446042) / Math.Sqrt((425986.7112182845 / (299)) + (24200.220577726035 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.13697978786402573 = (93765.46666755324 - 80921.49293446042) / 93765.46666755324 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.ContainsFalse&lt;Int32&gt;.Array(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 84.98455966129657 < 93.99555301233246.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 247.56788360295073 (T) = (0 -84644.47992838507) / Math.Sqrt((615241.4548453006 / (299)) + (27020.560474523147 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.13611459963764505 = (97981.144134258 - 84644.47992838507) / 97981.144134258 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
Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Common

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
CtorInvoke - Duration of single invocation 871.29 μs 751.58 μs 0.86 0.40 False
CtorInvoke - Duration of single invocation 838.94 μs 728.33 μs 0.87 0.44 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Common*'

Payloads

Baseline
Compare

Histogram

System.Text.RegularExpressions.Tests.Perf_Regex_Common.CtorInvoke(Options: IgnoreCase, Compiled)


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.5806172462408 < 825.1065552307958.
IsChangePoint: Marked as a change because one of 5/24/2022 3:42:52 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 23.06928947231735 (T) = (0 -774525.6325780142) / Math.Sqrt((1122499759.6810744 / (299)) + (528930005.21445614 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.1182767559565991 = (878422.6091468332 - 774525.6325780142) / 878422.6091468332 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.CtorInvoke(Options: Compiled)

```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 728.3342980654763 < 789.0032438229738.
IsChangePoint: Marked as a change because one of 5/24/2022 3:42:52 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 19.343898285427368 (T) = (0 -739510.8412354259) / Math.Sqrt((1051800813.6181426 / (299)) + (562238040.5217941 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.10723815770514289 = (828340.5564629674 - 739510.8412354259) / 828340.5564629674 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

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Tests.Perf_Array

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IndexOfShort - Duration of single invocation 22.57 ns 15.78 ns 0.70 0.30 False
Reverse - Duration of single invocation 121.04 ns 81.80 ns 0.68 0.02 False

graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Array.IndexOfShort


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 15.784809983314153 < 23.41019136082098.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 38.68401189693018 (T) = (0 -16.759490210929506) / Math.Sqrt((1.9894206254513673 / (299)) + (1.3202089835175521 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.3356472182722645 = (25.226793161525237 - 16.759490210929506) / 25.226793161525237 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Array.Reverse

```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 81.79610208396393 < 114.80785125427586.
IsChangePoint: Marked as a change because one of 6/22/2022 6:55:40 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 34.1648267836473 (T) = (0 -81.02389194871787) / Math.Sqrt((1018.6677505081195 / (299)) + (1.0485460102730253 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.4388432936832183 = (144.3872826193734 - 81.02389194871787) / 144.3872826193734 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

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Count - Duration of single invocation 16.00 ms 14.04 ms 0.88 0.32 False
Count - Duration of single invocation 11.96 ms 10.29 ms 0.86 0.52 False
Count - Duration of single invocation 36.27 ms 30.21 ms 0.83 0.10 False
Count - Duration of single invocation 6.74 ms 5.07 ms 0.75 0.37 False
Count - Duration of single invocation 7.39 ms 5.65 ms 0.76 0.46 False
Count - Duration of single invocation 13.63 ms 10.85 ms 0.80 0.40 False
Count - Duration of single invocation 45.85 ms 38.50 ms 0.84 0.52 False

graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig*'

Payloads

Baseline
Compare

Histogram

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "Tom.{10,25}river|river.{10,25}Tom", Options: Compiled)


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 14.044426774074074 < 15.175344373841002.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 19.90835749160139 (T) = (0 -14343507.912486047) / Math.Sqrt((1930421567172.6904 / (299)) + (162503625342.17493 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.129728178118181 = (16481641.197425628 - 14343507.912486047) / 16481641.197425628 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "Tom|Sawyer|Huckleberry|Finn", Options: Compiled)

```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.285741344720497 < 11.997412936255252.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 18.57730130643783 (T) = (0 -10632539.235862723) / Math.Sqrt((835070473033.8119 / (299)) + (313537476311.6398 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.16391694564837664 = (12717084.960067973 - 10632539.235862723) / 12717084.960067973 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "([A-Za-z]awyer|[A-Za-z]inn)\s", Options: Compiled)

```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 30.205945964285714 < 33.710046389285715.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 20.359013965110464 (T) = (0 -30751997.251055256) / Math.Sqrt((13212919797656.904 / (299)) + (720403812278.2719 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.1460175329503068 = (36010103.7639521 - 30751997.251055256) / 36010103.7639521 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "Huck[a-zA-Z]+|Saw[a-zA-Z]+", Options: Compiled)

```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 5.072342694444445 < 6.418494313423422.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 58.92854892446324 (T) = (0 -5112118.774507173) / Math.Sqrt((81728729002.68091 / (299)) + (21445283443.453632 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.2614892385580053 = (6922199.433526735 - 5112118.774507173) / 6922199.433526735 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "Huck[a-zA-Z]+|Saw[a-zA-Z]+", Options: NonBacktracking)

```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 5.652304498251747 < 7.027643424877451.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 14.488976155182232 (T) = (0 -6200067.483520204) / Math.Sqrt((405877773763.0663 / (299)) + (367061499989.75214 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.20928679379555423 = (7841107.79340787 - 6200067.483520204) / 7841107.79340787 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "(?i)Twain", Options: Compiled)

```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.85024597826087 < 12.920580118128306.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 30.32747926354416 (T) = (0 -11053607.14540601) / Math.Sqrt((894810545633.8765 / (299)) + (85220641646.88316 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.17104524333786314 = (13334391.360409563 - 11053607.14540601) / 13334391.360409563 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "([A-Za-z]awyer|[A-Za-z]inn)\s", Options: NonBacktracking)

```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 38.499562850000004 < 43.688303061666666.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/17/2022 8:19:48 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 7.486859987794311 (T) = (0 -42885543.818781756) / Math.Sqrt((111090231823622 / (299)) + (68316071419740.836 / (31))) is greater than 1.9672228266464409 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (31) - 2, .975) and 0.2188457474150608 = (54900224.47790307 - 42885543.818781756) / 54900224.47790307 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

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Text.Perf_Utf8Encoding

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetBytes - Duration of single invocation 309.03 μs 236.89 μs 0.77 0.01 False
GetBytes - Duration of single invocation 216.11 μs 186.70 μs 0.86 0.00 False
GetByteCount - Duration of single invocation 49.90 μs 37.47 μs 0.75 0.00 False
GetByteCount - Duration of single invocation 62.89 μs 49.17 μs 0.78 0.00 False
GetByteCount - Duration of single invocation 126.29 μs 98.77 μs 0.78 0.01 False
GetByteCount - Duration of single invocation 57.53 μs 43.18 μs 0.75 0.00 False
GetBytes - Duration of single invocation 276.17 μs 247.32 μs 0.90 0.02 False
GetBytes - Duration of single invocation 313.12 μs 266.76 μs 0.85 0.00 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Perf_Utf8Encoding*'

Payloads

Baseline
Compare

Histogram

System.Text.Perf_Utf8Encoding.GetBytes(Input: Chinese)


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 236.88577318763322 < 290.210398109412.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 76.42296200087317 (T) = (0 -239260.5410081847) / Math.Sqrt((4444763.97729464 / (299)) + (23178644.90896049 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.21545285309139603 = (304966.42802278575 - 239260.5410081847) / 304966.42802278575 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Perf_Utf8Encoding.GetBytes(Input: Cyrillic)

```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 186.702682390873 < 204.92002241592027.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 90.94859462339927 (T) = (0 -184147.09631530897) / Math.Sqrt((2608974.2148036915 / (299)) + (3823476.4338473207 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.15026986919205523 = (216712.44744518743 - 184147.09631530897) / 216712.44744518743 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Perf_Utf8Encoding.GetByteCount(Input: Cyrillic)

```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 37.47338276378897 < 47.40663705461371.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 7867.652482073465 (T) = (0 -37473.02850802463) / Math.Sqrt((646.1611925781106 / (299)) + (10.982205216037352 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.249390905070845 = (49923.49381479512 - 37473.02850802463) / 49923.49381479512 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Perf_Utf8Encoding.GetByteCount(Input: Greek)

```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 49.170651703354295 < 59.74164760974894.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 84.63519435316769 (T) = (0 -48069.67979441525) / Math.Sqrt((1149.4465341460439 / (299)) + (983012.3403265215 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.23583098275989706 = (62904.51288907947 - 48069.67979441525) / 62904.51288907947 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Perf_Utf8Encoding.GetByteCount(Input: EnglishMostlyAscii)

```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 98.77489749203822 < 121.10155986026422.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 79.41170799094151 (T) = (0 -96646.67236929409) / Math.Sqrt((360126.10886188457 / (299)) + (4575446.690358477 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.23780751053994656 = (126800.87209696829 - 96646.67236929409) / 126800.87209696829 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Perf_Utf8Encoding.GetByteCount(Input: Chinese)

```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 43.18490997928178 < 54.65461842562806.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 111.2088394376309 (T) = (0 -43521.42681662637) / Math.Sqrt((676.931889328865 / (299)) + (508731.02470561664 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.24368930504389552 = (57544.37575307898 - 43521.42681662637) / 57544.37575307898 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Perf_Utf8Encoding.GetBytes(Input: EnglishMostlyAscii)

```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 247.32332278645833 < 266.96218917596724.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 34.95013053418318 (T) = (0 -243625.19124873483) / Math.Sqrt((19443020.569898658 / (299)) + (32232969.86407332 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.12934050365671484 = (279816.84260258486 - 243625.19124873483) / 279816.84260258486 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Perf_Utf8Encoding.GetBytes(Input: Greek)

```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 266.75838124999996 < 293.9290803111869.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 75.66522157019683 (T) = (0 -266002.6727862142) / Math.Sqrt((4286158.840850532 / (299)) + (10525328.355082907 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.1428480569979629 = (310333.16199993965 - 266002.6727862142) / 310333.16199993965 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 Aug 25, 2022

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Memory.SequenceReader

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryReadTo - Duration of single invocation 342.87 ns 247.60 ns 0.72 0.16 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.SequenceReader*'

Payloads

Baseline
Compare

Histogram

System.Memory.SequenceReader.TryReadTo


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 247.60139528787494 < 326.3806087987143.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 55.642022535564536 (T) = (0 -253.9432422590933) / Math.Sqrt((121.46596688582866 / (299)) + (73.33934914498622 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.2646576595515461 = (345.3401610251684 - 253.9432422590933) / 345.3401610251684 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
Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Collections.ContainsTrue<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
List - Duration of single invocation 60.58 μs 48.05 μs 0.79 0.00 False
Stack - Duration of single invocation 74.59 μs 50.72 μs 0.68 0.40 False
Array - Duration of single invocation 61.06 μs 50.48 μs 0.83 0.01 False
ICollection - Duration of single invocation 60.53 μs 50.50 μs 0.83 0.01 False
Span - Duration of single invocation 57.00 μs 45.10 μs 0.79 0.00 False

graph
graph
graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Collections.ContainsTrue<Int32>.List(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 48.05447730882998 < 56.189075049139156.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 77.34308509739682 (T) = (0 -48431.31345481173) / Math.Sqrt((1246718.1923220574 / (299)) + (451667.36088013544 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.17759116700590571 = (58889.58327270242 - 48431.31345481173) / 58889.58327270242 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.ContainsTrue&lt;Int32&gt;.Stack(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 50.723469855165206 < 73.17813176569994.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 106.07243291788772 (T) = (0 -49546.32301930551) / Math.Sqrt((13829919.266327694 / (299)) + (608579.9326788409 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.3535704034488971 = (76646.12400739401 - 49546.32301930551) / 76646.12400739401 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.ContainsTrue&lt;Int32&gt;.Array(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 50.47716566978733 < 57.92387373823312.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 135.2538987480414 (T) = (0 -49628.21734543876) / Math.Sqrt((1137998.3189336262 / (299)) + (94164.230520593 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.18293130523769796 = (60739.345006819014 - 49628.21734543876) / 60739.345006819014 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.ContainsTrue&lt;Int32&gt;.ICollection(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 50.502395994630376 < 57.757830680894585.
IsChangePoint: Marked as a change because one of 7/28/2022 6:13:35 AM, 8/1/2022 8:26:50 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 42.70102019060973 (T) = (0 -49673.803658306955) / Math.Sqrt((20077305.369374566 / (299)) + (313766.48199160874 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.19254885570731592 = (61519.2683909322 - 49673.803658306955) / 61519.2683909322 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.ContainsTrue&lt;Int32&gt;.Span(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 45.10206457820197 < 54.175770204966106.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 140.84961945739275 (T) = (0 -44977.60521406795) / Math.Sqrt((1180478.3651934022 / (299)) + (95125.54170582739 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.20667480402820507 = (56695.04188502673 - 44977.60521406795) / 56695.04188502673 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

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

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
IndexOfAnyTwoValues - Duration of single invocation 35.43 ns 28.12 ns 0.79 0.30 False
LastIndexOfAnyValues - Duration of single invocation 37.74 ns 28.39 ns 0.75 0.37 False
Reverse - Duration of single invocation 234.46 ns 38.12 ns 0.16 0.02 False
LastIndexOfValue - Duration of single invocation 19.24 ns 14.63 ns 0.76 0.44 False

graph
graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Memory.Span<Byte>.IndexOfAnyTwoValues(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 28.118941235454653 < 33.65795108387719.
IsChangePoint: Marked as a change because one of 5/31/2022 5:02:26 PM, 6/6/2022 8:15:49 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 22.417489437277172 (T) = (0 -29.042231814779953) / Math.Sqrt((17.017958462749217 / (299)) + (3.1825674180857586 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.23385502987418252 = (37.90696662801375 - 29.042231814779953) / 37.90696662801375 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Byte&gt;.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 28.38790012280709 < 35.85270603886906.
IsChangePoint: Marked as a change because one of 5/31/2022 5:02:26 PM, 6/6/2022 8:15:49 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 36.056486611157716 (T) = (0 -27.86969525268881) / Math.Sqrt((13.307556925034582 / (299)) + (2.7428607488077943 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.31827442864185723 = (40.88110586370764 - 27.86969525268881) / 40.88110586370764 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Byte&gt;.Reverse(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 38.119002839312266 < 225.4380225144882.
IsChangePoint: Marked as a change because one of 6/22/2022 6:55:40 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 123.76066526620208 (T) = (0 -37.87373900129542) / Math.Sqrt((977.6043660477321 / (299)) + (0.5647505215854829 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.8555874261447677 = (262.2606743320168 - 37.87373900129542) / 262.2606743320168 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Byte&gt;.LastIndexOfValue(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 14.633149684473137 < 18.604805323292933.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 17.187548592913927 (T) = (0 -15.628132293824546) / Math.Sqrt((21.49926558041797 / (299)) + (2.2768437116815 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.293768806120071 = (22.12891816342169 - 15.628132293824546) / 22.12891816342169 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

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Memory.Span<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IndexOfAnyFourValues - Duration of single invocation 143.25 ns 134.03 ns 0.94 0.25 False
LastIndexOfAnyValues - Duration of single invocation 211.54 ns 68.04 ns 0.32 0.44 False
IndexOfAnyTwoValues - Duration of single invocation 95.52 ns 81.77 ns 0.86 0.31 False
Reverse - Duration of single invocation 231.81 ns 83.72 ns 0.36 0.01 False
IndexOfAnyThreeValues - Duration of single invocation 112.83 ns 95.22 ns 0.84 0.27 False

graph
graph
graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Memory.Span<Char>.IndexOfAnyFourValues(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 134.03398632168387 < 135.90605084630195.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/7/2022 1:55:17 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 12.90367743298894 (T) = (0 -125.88157491047386) / Math.Sqrt((100.74015208123807 / (299)) + (83.09981321051903 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.149353429965483 = (147.98340385404236 - 125.88157491047386) / 147.98340385404236 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Char&gt;.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 68.04366482504604 < 196.82116208598075.
IsChangePoint: Marked as a change because one of 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 153.99403374107393 (T) = (0 -69.52733188640705) / Math.Sqrt((138.1829517874711 / (299)) + (5.507208326054474 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.6381949691784885 = (192.1679522491406 - 69.52733188640705) / 192.1679522491406 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Char&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 81.77086407956389 < 82.79785395839471.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 26.242755703821285 (T) = (0 -72.68658611007604) / Math.Sqrt((36.585594544373265 / (299)) + (16.074288193151823 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.22200439847061826 = (93.4280167743737 - 72.68658611007604) / 93.4280167743737 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Char&gt;.Reverse(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 83.72350874689252 < 224.75209799439546.
IsChangePoint: Marked as a change because one of 6/22/2022 6:55:40 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 53.739315446565755 (T) = (0 -83.94642308355469) / Math.Sqrt((4233.435210570393 / (299)) + (1.2924273962720665 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.7069368189607736 = (286.44479591695455 - 83.94642308355469) / 286.44479591695455 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Char&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 95.22029919937835 < 107.00744156848728.
IsChangePoint: Marked as a change because one of 7/1/2022 8:00:17 AM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 13.01146312676679 (T) = (0 -100.08342135540322) / Math.Sqrt((66.78396037616453 / (299)) + (43.19975459835986 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.1402072443824353 = (116.4041226231502 - 100.08342135540322) / 116.4041226231502 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

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Memory.ReadOnlySpan

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IndexOfString - Duration of single invocation 114.67 ns 96.24 ns 0.84 0.01 False
IndexOfString - Duration of single invocation 26.92 ns 22.13 ns 0.82 0.03 False
IndexOfString - Duration of single invocation 26.46 ns 18.92 ns 0.71 0.02 False
IndexOfString - Duration of single invocation 42.93 ns 35.75 ns 0.83 0.24 False
IndexOfString - Duration of single invocation 48.98 ns 39.96 ns 0.82 0.02 False
IndexOfString - Duration of single invocation 114.11 ns 95.93 ns 0.84 0.01 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.ReadOnlySpan*'

Payloads

Baseline
Compare

Histogram

System.Memory.ReadOnlySpan.IndexOfString(input: "だだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだxだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだ", value: "x", comparisonType: Ordinal)


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 96.23590667242323 < 107.72168163873685.
IsChangePoint: Marked as a change because one of 5/31/2022 5:02:26 PM, 6/6/2022 8:15:49 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 44.403219295072674 (T) = (0 -96.54752395993434) / Math.Sqrt((53.73273466383795 / (299)) + (0.10879839630976888 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.16443913320641138 = (115.54816387037043 - 96.54752395993434) / 115.54816387037043 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.IndexOfString(input: "だだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだすだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだ", value: "す", comparisonType: Ordinal)

```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 22.129594426471098 < 23.992625566741474.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 32.04485218462096 (T) = (0 -21.160504827678952) / Math.Sqrt((7.65478503480564 / (299)) + (0.07729293357785912 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.20221989370591492 = (26.524232254894773 - 21.160504827678952) / 26.524232254894773 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.IndexOfString(input: "Hello Worldbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbba!", value: "y", comparisonType: Ordinal)

```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 18.91877296487338 < 25.348246266366367.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 50.849304339362575 (T) = (0 -18.922486607248597) / Math.Sqrt((7.702292279519148 / (299)) + (0.06674914830489244 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.30959444729320085 = (27.407784501531353 - 18.922486607248597) / 27.407784501531353 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", value: "x", comparisonType: OrdinalIgnoreCase)

```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 35.74997702731109 < 40.75467701974214.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 22.407685195833366 (T) = (0 -35.047890721792704) / Math.Sqrt((26.190118131287697 / (299)) + (2.4584915708852306 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.20587424340334898 = (44.1339302127611 - 35.047890721792704) / 44.1339302127611 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.IndexOfString(input: "Hello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello Worldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylong!xyz", value: "~", comparisonType: Ordinal)

```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 39.95668538083212 < 46.55040689249624.
IsChangePoint: Marked as a change because one of 5/31/2022 5:02:26 PM, 6/6/2022 8:15:49 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 41.19351125754794 (T) = (0 -40.03425112455636) / Math.Sqrt((14.719743429504485 / (299)) + (0.8401033421469295 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.22039300669313475 = (51.35183684633556 - 40.03425112455636) / 51.35183684633556 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", value: "X", comparisonType: Ordinal)

```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 95.92529232511983 < 107.79154612695874.
IsChangePoint: Marked as a change because one of 5/31/2022 5:02:26 PM, 6/6/2022 8:15:49 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 44.299558749102715 (T) = (0 -96.61902025531266) / Math.Sqrt((53.05487676249482 / (299)) + (0.20670668157471875 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.16431303684070442 = (115.61628278852963 - 96.61902025531266) / 115.61628278852963 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

Architecture arm64
OS ubuntu 18.04
Baseline 73cf30dd4a00a1ee7b12a82a2cff99b1870a3c4e
Compare e05944dd74118db06d6987fe2724813950725737
Diff Diff

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Count - Duration of single invocation 1.19 ms 1.00 ms 0.84 0.01 False

Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas*'

Payloads

Baseline
Compare

Histogram

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Count(Pattern: "[\w.+-]+@[\w.-]+.[\w.-]+", Options: Compiled)


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.0040400604166666 < 1.1324205144974815.
IsChangePoint: Marked as a change because one of 5/31/2022 5:02:26 PM, 6/6/2022 8:15:49 PM, 8/5/2022 7:33:33 PM, 8/25/2022 6:55:57 AM falls between 8/5/2022 7:33:33 PM and 8/25/2022 6:55:57 AM.
IsImprovementStdDev: Marked as improvement because 36.336338743411986 (T) = (0 -1010818.6761378227) / Math.Sqrt((7637535580.139455 / (299)) + (196546844.00543806 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.16829421522660068 = (1215356.0725963006 - 1010818.6761378227) / 1215356.0725963006 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-arm64 branch-refs/heads/main kind-micro os-linux perf-improvement PGO Applied if there were any profile guided optimization updates in the observed interval. runtime-coreclr
Projects
None yet
Development

No branches or pull requests

2 participants