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 1/7/2023 12:45:06 AM #11446

Closed
performanceautofiler bot opened this issue Jan 10, 2023 · 1 comment
Closed

[Perf] Windows/x64: 1 Regression on 1/7/2023 12:45:06 AM #11446

performanceautofiler bot opened this issue Jan 10, 2023 · 1 comment

Comments

@performanceautofiler
Copy link

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline c2469455eab98fdcea71997d3cc5004a992fc88f
Compare 58614a0f6da787c9d6d914b99564f066d13f69ed
Diff Diff

Regressions in System.Numerics.Tests.Perf_Matrix4x4

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
CreateFromScalars - Duration of single invocation 10.82 ns 12.33 ns 1.14 0.00 False 27.440999791344073 68.8827920904091 2.51021437317081 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.Numerics.Tests.Perf_Matrix4x4*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_Matrix4x4.CreateFromScalars


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 12.33486758440217 > 10.988762412467347.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -65.15302982635818 (T) = (0 -12.330547581320218) / Math.Sqrt((0.023020926501355954 / (34)) + (0.00030894222978022576 / (13))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (13) - 2, .025) and -0.16263257818109503 = (10.605713114121576 - 12.330547581320218) / 10.605713114121576 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.Numerics.Tests.Perf_Matrix4x4.CreateFromScalars()
       sub       rsp,48
       vzeroupper
       vxorps    ymm0,ymm0,ymm0
       vmovdqu   ymmword ptr [rsp+8],ymm0
       vmovdqu   ymmword ptr [rsp+28],ymm0
       mov       dword ptr [rsp+8],3F8CCCCD
       mov       dword ptr [rsp+0C],3F99999A
       mov       dword ptr [rsp+10],3FA66666
       mov       dword ptr [rsp+14],3FB33333
       mov       dword ptr [rsp+18],40066666
       mov       dword ptr [rsp+1C],400CCCCD
       mov       dword ptr [rsp+20],40133333
       mov       dword ptr [rsp+24],4019999A
       mov       dword ptr [rsp+28],40466666
       mov       dword ptr [rsp+2C],404CCCCD
       mov       dword ptr [rsp+30],40533333
       mov       dword ptr [rsp+34],4059999A
       mov       dword ptr [rsp+38],40833333
       mov       dword ptr [rsp+3C],40866666
       mov       dword ptr [rsp+40],4089999A
       mov       dword ptr [rsp+44],408CCCCD
       vmovdqu   ymm0,ymmword ptr [rsp+8]
       vmovdqu   ymmword ptr [rdx],ymm0
       vmovdqu   ymm0,ymmword ptr [rsp+28]
       vmovdqu   ymmword ptr [rdx+20],ymm0
       mov       rax,rdx
       add       rsp,48
       ret
; Total bytes of code 180

Compare Jit Disasm

; System.Numerics.Tests.Perf_Matrix4x4.CreateFromScalars()
       push      rbp
       push      rsi
       sub       rsp,0C8
       vzeroupper
       lea       rbp,[rsp+0D0]
       mov       rsi,rdx
       vxorps    ymm1,ymm1,ymm1
       vmovdqu   ymmword ptr [rbp-48],ymm1
       vmovdqu   ymmword ptr [rbp-28],ymm1
       vmovss    xmm1,dword ptr [7FFABE1B57C0]
       vmovss    dword ptr [rsp+20],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57C4]
       vmovss    dword ptr [rsp+28],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57C8]
       vmovss    dword ptr [rsp+30],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57CC]
       vmovss    dword ptr [rsp+38],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57D0]
       vmovss    dword ptr [rsp+40],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57D4]
       vmovss    dword ptr [rsp+48],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57D8]
       vmovss    dword ptr [rsp+50],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57DC]
       vmovss    dword ptr [rsp+58],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57E0]
       vmovss    dword ptr [rsp+60],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57E4]
       vmovss    dword ptr [rsp+68],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57E8]
       vmovss    dword ptr [rsp+70],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57EC]
       vmovss    dword ptr [rsp+78],xmm1
       vmovss    xmm1,dword ptr [7FFABE1B57F0]
       vmovss    dword ptr [rsp+80],xmm1
       lea       rcx,[rbp-48]
       vmovss    xmm1,dword ptr [7FFABE1B57F4]
       vmovss    xmm2,dword ptr [7FFABE1B57F8]
       vmovss    xmm3,dword ptr [7FFABE1B57FC]
       call      qword ptr [7FFABE973000]; System.Numerics.Matrix4x4..ctor(Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single)
       vmovdqu   ymm0,ymmword ptr [rbp-48]
       vmovdqu   ymmword ptr [rsi],ymm0
       vmovdqu   ymm0,ymmword ptr [rbp-28]
       vmovdqu   ymmword ptr [rsi+20],ymm0
       mov       rax,rsi
       add       rsp,0C8
       pop       rsi
       pop       rbp
       ret
; Total bytes of code 288
; System.Numerics.Matrix4x4..ctor(Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single)
       vzeroupper
       vinsertps xmm0,xmm1,xmm2,10
       vinsertps xmm0,xmm0,xmm3,20
       vinsertps xmm0,xmm0,dword ptr [rsp+28],30
       vmovupd   [rcx],xmm0
       vmovss    xmm0,dword ptr [rsp+30]
       vinsertps xmm0,xmm0,dword ptr [rsp+38],10
       vinsertps xmm0,xmm0,dword ptr [rsp+40],20
       vinsertps xmm0,xmm0,dword ptr [rsp+48],30
       vmovupd   [rcx+10],xmm0
       vmovss    xmm0,dword ptr [rsp+50]
       vinsertps xmm0,xmm0,dword ptr [rsp+58],10
       vinsertps xmm0,xmm0,dword ptr [rsp+60],20
       vinsertps xmm0,xmm0,dword ptr [rsp+68],30
       vmovupd   [rcx+20],xmm0
       vmovss    xmm0,dword ptr [rsp+70]
       vinsertps xmm0,xmm0,dword ptr [rsp+78],10
       vinsertps xmm0,xmm0,dword ptr [rsp+80],20
       vinsertps xmm0,xmm0,dword ptr [rsp+88],30
       vmovupd   [rcx+30],xmm0
       ret
; Total bytes of code 139

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