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] Windows/x64: 1 Regression on 11/24/2022 9:42:44 PM #10123

Closed
performanceautofiler bot opened this issue Nov 29, 2022 · 1 comment
Closed

[Perf] Windows/x64: 1 Regression on 11/24/2022 9:42:44 PM #10123

performanceautofiler bot opened this issue Nov 29, 2022 · 1 comment

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Nov 29, 2022

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline ac03fbd184b182a6632a50bbe70bc733e487264c
Compare 4832236b4820ca83bbc9ce96003c2029b85c6ce2
Diff Diff

Regressions in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToUpperInvariant - Duration of single invocation 16.65 ns 18.85 ns 1.13 0.05 False 201.4861513743844 209.0761926644975 1.0376702877013613 Trace Trace

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_String.ToUpperInvariant(s: "test")


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 18.849892808942638 > 17.439810947425492.
IsChangePoint: Marked as a change because one of 10/2/2022 11:57:04 PM, 10/11/2022 8:42:28 PM, 11/24/2022 8:21:24 PM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -17.392702997665637 (T) = (0 -18.40618606673211) / Math.Sqrt((0.15461658739006298 / (40)) + (0.07983106366713769 / (15))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (40) + (15) - 2, .025) and -0.09959420037988614 = (16.739071614212925 - 18.40618606673211) / 16.739071614212925 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.

```### Baseline Jit Disasm

```assembly
; System.Tests.Perf_String.ToUpperInvariant(System.String)
       cmp       [rdx],dl
       mov       rcx,229BA400718
       mov       rcx,[rcx]
       jmp       qword ptr [7FF937BE7B88]; System.Globalization.TextInfo.ToUpper(System.String)
; Total bytes of code 21
; System.Globalization.TextInfo.ToUpper(System.String)
       sub       rsp,28
       test      rdx,rdx
       je        short M01_L00
       add       rsp,28
       jmp       qword ptr [7FF937F0D9C0]; System.Globalization.TextInfo.ChangeCaseCommon[[System.Globalization.TextInfo+ToUpperConversion, System.Private.CoreLib]](System.String)
M01_L00:
       mov       ecx,15FB
       mov       rdx,7FF937864000
       call      CORINFO_HELP_STRCNS
       mov       rcx,rax
       call      qword ptr [7FF937B553F0]
       int       3
; Total bytes of code 49

Compare Jit Disasm

; System.Tests.Perf_String.ToUpperInvariant(System.String)
       cmp       [rdx],dl
       mov       rcx,1F395000720
       mov       rcx,[rcx]
       jmp       qword ptr [7FFD82307BB8]; System.Globalization.TextInfo.ToUpper(System.String)
; Total bytes of code 21
; System.Globalization.TextInfo.ToUpper(System.String)
       sub       rsp,28
       test      rdx,rdx
       je        short M01_L00
       add       rsp,28
       jmp       qword ptr [7FFD8262D9C0]; System.Globalization.TextInfo.ChangeCaseCommon[[System.Globalization.TextInfo+ToUpperConversion, System.Private.CoreLib]](System.String)
M01_L00:
       mov       ecx,15FB
       mov       rdx,7FFD81F84000
       call      CORINFO_HELP_STRCNS
       mov       rcx,rax
       call      qword ptr [7FFD82275408]
       int       3
; Total bytes of code 49

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
Projects
None yet
Development

No branches or pull requests

2 participants