Skip to content

Arm64: Regressions in System.Text.RegularExpressions. #64381

@performanceautofiler

Description

@performanceautofiler

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline 4d16d0934259b2b1b056823986bb0ad08578c5c0
Compare 82ff4f89e5997ade30ac1a9de8f343c321dd10a9
Diff Diff

Regressions 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 196.24 μs 300.98 μs 1.53 0.08 True
Count - Duration of single invocation 63.20 μs 154.12 μs 2.44 0.01 True
Count - Duration of single invocation 100.61 μs 197.45 μs 1.96 0.01 True
Count - Duration of single invocation 100.27 μs 193.24 μs 1.93 0.01 True

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\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: "The", Options: Compiled)


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 1/25/2022 5:52:36 PM, 1/27/2022 2:00:00 AM falls between 1/11/2022 6:41:22 PM and 1/27/2022 2:00:00 AM.
IsRegressionStdDev: Marked as regression because -93.30490056184595 (T) = (0 -302110.5269860348) / Math.Sqrt((13223906.599727279 / (22)) + (2489855.7165398365 / (4))) is less than -2.0638985616205927 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (22) + (4) - 2, .025) and -0.5188910589732372 = (198902.03790537818 - 302110.5269860348) / 198902.03790537818 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "zqj", Options: None)

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 1/25/2022 5:52:36 PM, 1/27/2022 2:00:00 AM falls between 1/11/2022 6:41:22 PM and 1/27/2022 2:00:00 AM.
IsRegressionStdDev: Marked as regression because -46.070117601034106 (T) = (0 -154706.8570747855) / Math.Sqrt((10781.494298185917 / (22)) + (15759608.222075848 / (4))) is less than -2.0638985616205927 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (22) + (4) - 2, .025) and -1.4457364834676718 = (63255.73426268532 - 154706.8570747855) / 63255.73426268532 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

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

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 1/25/2022 5:52:36 PM, 1/27/2022 2:00:00 AM falls between 1/11/2022 6:41:22 PM and 1/27/2022 2:00:00 AM.
IsRegressionStdDev: Marked as regression because -204.59814678741992 (T) = (0 -197075.21528389637) / Math.Sqrt((339001.03073299903 / (22)) + (817712.6447385071 / (4))) is less than -2.0638985616205927 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (22) + (4) - 2, .025) and -0.9484295773909126 = (101145.6701184932 - 197075.21528389637) / 101145.6701184932 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

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

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 1/25/2022 5:52:36 PM, 1/27/2022 2:00:00 AM falls between 1/11/2022 6:41:22 PM and 1/27/2022 2:00:00 AM.
IsRegressionStdDev: Marked as regression because -147.49859779935338 (T) = (0 -194205.28421047283) / Math.Sqrt((1011372.6929403255 / (22)) + (1410671.2860712947 / (4))) is less than -2.0638985616205927 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (22) + (4) - 2, .025) and -0.9213449191127261 = (101077.78269200957 - 194205.28421047283) / 101077.78269200957 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

### Run Information
Architecture arm64
OS Windows 10.0.19041
Baseline 4d16d0934259b2b1b056823986bb0ad08578c5c0
Compare 82ff4f89e5997ade30ac1a9de8f343c321dd10a9
Diff Diff

Regressions 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 3.24 ms 5.02 ms 1.55 0.01 True

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\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: "Twain", Options: None)


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 1/25/2022 5:52:36 PM, 1/27/2022 2:00:00 AM falls between 1/11/2022 6:41:22 PM and 1/27/2022 2:00:00 AM.
IsRegressionStdDev: Marked as regression because -142.63817697387185 (T) = (0 -5004262.43697479) / Math.Sqrt((1469273523.1041913 / (22)) + (334968873.4781656 / (4))) is less than -2.0638985616205927 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (22) + (4) - 2, .025) and -0.5377666955395907 = (3254240.35485359 - 5004262.43697479) / 3254240.35485359 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions