Skip to content

Regressions in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock #81105

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

Closed
performanceautofiler bot opened this issue Jan 24, 2023 · 3 comments · Fixed by #86046
Assignees
Milestone

Comments

@performanceautofiler
Copy link

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 5a17537f0baaa70a3b5d25679c4af4dff0182bad
Compare 170587e444c43d5c0080f7b2ea454e37463c832a
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 2.28 ms 2.59 ms 1.14 0.01 False
Count - Duration of single invocation 4.79 ms 5.11 ms 1.07 0.01 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.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: "(?i)Sherlock|Holmes|Watson|Irene|Adler|John|Baker", 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 2.5909810096153842 > 2.398710526785714.
IsChangePoint: Marked as a change because one of 1/5/2023 12:24:13 PM, 1/18/2023 6:24:13 PM, 1/24/2023 6:33:57 AM falls between 1/15/2023 4:08:29 PM and 1/24/2023 6:33:57 AM.
IsRegressionStdDev: Marked as regression because -84.37075465607366 (T) = (0 -2606824.4042473733) / Math.Sqrt((375971267.4352063 / (36)) + (132841654.53033343 / (33))) is less than -1.9960083540247138 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (36) + (33) - 2, .025) and -0.1403969699018354 = (2285892.0823612562 - 2606824.4042473733) / 2285892.0823612562 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 not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-zA-Z]+ing", Options: Compiled)

```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 5.112908163265305 > 4.989781862844702.
IsChangePoint: Marked as a change because one of 1/5/2023 12:24:13 PM, 1/18/2023 6:24:13 PM, 1/24/2023 6:33:57 AM falls between 1/15/2023 4:08:29 PM and 1/24/2023 6:33:57 AM.
IsRegressionStdDev: Marked as regression because -25.384651515820803 (T) = (0 -5176280.232083188) / Math.Sqrt((1703015197.3673894 / (36)) + (7268607965.195429 / (33))) is less than -1.9960083540247138 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (36) + (33) - 2, .025) and -0.0872136482852034 = (4761051.5561935995 - 5176280.232083188) / 4761051.5561935995 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 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 the untriaged New issue has not been triaged by the area owner label Jan 24, 2023
@EgorBo EgorBo removed the untriaged New issue has not been triaged by the area owner label Jan 24, 2023
@EgorBo EgorBo transferred this issue from dotnet/perf-autofiling-issues Jan 24, 2023
@ghost ghost added area-System.Text.RegularExpressions untriaged New issue has not been triaged by the area owner labels Jan 24, 2023
@EgorBo EgorBo changed the title [Perf] Windows/x64: 2 Regressions on 1/18/2023 8:37:25 PM Regressions in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock Jan 24, 2023
@ghost
Copy link

ghost commented Jan 24, 2023

Tagging subscribers to this area: @dotnet/area-system-text-regularexpressions
See info in area-owners.md if you want to be subscribed.

Issue Details

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 5a17537f0baaa70a3b5d25679c4af4dff0182bad
Compare 170587e444c43d5c0080f7b2ea454e37463c832a
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 2.28 ms 2.59 ms 1.14 0.01 False
Count - Duration of single invocation 4.79 ms 5.11 ms 1.07 0.01 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.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: "(?i)Sherlock|Holmes|Watson|Irene|Adler|John|Baker", 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 2.5909810096153842 > 2.398710526785714.
IsChangePoint: Marked as a change because one of 1/5/2023 12:24:13 PM, 1/18/2023 6:24:13 PM, 1/24/2023 6:33:57 AM falls between 1/15/2023 4:08:29 PM and 1/24/2023 6:33:57 AM.
IsRegressionStdDev: Marked as regression because -84.37075465607366 (T) = (0 -2606824.4042473733) / Math.Sqrt((375971267.4352063 / (36)) + (132841654.53033343 / (33))) is less than -1.9960083540247138 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (36) + (33) - 2, .025) and -0.1403969699018354 = (2285892.0823612562 - 2606824.4042473733) / 2285892.0823612562 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 not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-zA-Z]+ing", Options: Compiled)

```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 5.112908163265305 > 4.989781862844702.
IsChangePoint: Marked as a change because one of 1/5/2023 12:24:13 PM, 1/18/2023 6:24:13 PM, 1/24/2023 6:33:57 AM falls between 1/15/2023 4:08:29 PM and 1/24/2023 6:33:57 AM.
IsRegressionStdDev: Marked as regression because -25.384651515820803 (T) = (0 -5176280.232083188) / Math.Sqrt((1703015197.3673894 / (36)) + (7268607965.195429 / (33))) is less than -1.9960083540247138 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (36) + (33) - 2, .025) and -0.0872136482852034 = (4761051.5561935995 - 5176280.232083188) / 4761051.5561935995 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 not as a regression because Edge Detector said so.

Docs

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

Author: performanceautofiler[bot]
Assignees: tannergooding
Labels:

area-System.Text.RegularExpressions

Milestone: -

@EgorBo EgorBo assigned MihaZupan and unassigned tannergooding Jan 24, 2023
@EgorBo EgorBo added os-windows tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark arch-x64 labels Jan 24, 2023
@EgorBo
Copy link
Member

EgorBo commented Jan 24, 2023

@MihaZupan looks like a regression from #78863

@MihaZupan
Copy link
Member

I'll double-check - #80830 should reduce any regression around #78863 too.

@buyaa-n buyaa-n added this to the 8.0.0 milestone Jan 25, 2023
@ghost ghost removed the untriaged New issue has not been triaged by the area owner label Jan 25, 2023
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label May 10, 2023
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label May 15, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Jun 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants