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/x64: 1 Regression on 11/3/2022 4:18:41 AM #78815

Closed
performanceautofiler bot opened this issue Nov 15, 2022 · 6 comments
Closed

[Perf] Linux/x64: 1 Regression on 11/3/2022 4:18:41 AM #78815

performanceautofiler bot opened this issue Nov 15, 2022 · 6 comments
Assignees
Labels

Comments

@performanceautofiler
Copy link

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 13d4e6de2c4ecd1414bd29d5240fb6fe2e33b9fa
Compare 64b3ee4d35f9ba6a0bf66a0c5b41d2c8873cd89f
Diff Diff

Regressions in System.Tests.Perf_Environment

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetFolderPath - Duration of single invocation 4.44 μs 6.11 μs 1.37 0.00 False

Test Report

Repro

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

Related Issues

Regressions

Improvements

Payloads

Baseline
Compare

Histogram

Edge Detector Info

Collection Data

System.Tests.Perf_Environment.GetFolderPath(folder: System, option: 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.
IsRegressionWindowed: Marked as regression because 6.105682431681848 > 4.585033086174572.
IsChangePoint: Marked as a change because one of 11/2/2022 9:17:08 PM, 11/9/2022 12:33:05 PM falls between 10/31/2022 10:23:25 PM and 11/9/2022 12:33:05 PM.
IsRegressionStdDev: Marked as regression because -141.46982564848437 (T) = (0 -6108.792020889851) / Math.Sqrt((2173.443495250577 / (22)) + (1219.8972631923637 / (26))) is less than -2.0128955989180297 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (22) + (26) - 2, .025) and -0.38801723256666676 = (4401.092347818848 - 6108.792020889851) / 4401.092347818848 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.
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 PGO refs/heads/main untriaged New issue has not been triaged by the area owner labels Nov 15, 2022
@kotlarmilos
Copy link
Member

Looks like regression in 92971c9

@kotlarmilos kotlarmilos removed the untriaged New issue has not been triaged by the area owner label Nov 16, 2022
@kotlarmilos
Copy link
Member

@elinor-fung do you have any idea what could cause a regression?

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@kotlarmilos kotlarmilos transferred this issue from dotnet/perf-autofiling-issues Nov 24, 2022
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Nov 24, 2022
@kotlarmilos kotlarmilos removed the untriaged New issue has not been triaged by the area owner label Nov 24, 2022
@elinor-fung
Copy link
Member

Looks like regression in 92971c9

@kotlarmilos what made you determine this? From the payloads, this is for mono. 92971c9 only modified coreclr (and all it did was remove empty macros).

@kotlarmilos
Copy link
Member

My bad, the regressions are caused by 5d0943f.

@kotlarmilos kotlarmilos assigned vargaz and unassigned elinor-fung Nov 28, 2022
@kotlarmilos
Copy link
Member

Before the change

SEQ POINT MAP FOR GetFolderPath: 
Total executed opcodes 7069273
1% Opcounts 130273, calls 10021, Method System.Text.UTF8Encoding:GetBytesFast (char*,int,byte*,int,int&), imethod ptr 0x15817d090
19% Opcounts 1260000, calls 10000, Method System.Collections.Generic.GenericArraySortHelper`1<ulong>:BinarySearch (ulong[],int,int,ulong), imethod ptr 0x1582378f0
23% Opcounts 260000, calls 20000, Method System.Enum:InternalGetUnderlyingType (System.RuntimeType), imethod ptr 0x15824f808
30% Opcounts 540171, calls 60019, Method System.Runtime.CompilerServices.QCallTypeHandle:.ctor (System.RuntimeType&), imethod ptr 0x1580b5438
36% Opcounts 390000, calls 30000, Method System.RuntimeTypeHandle:GetBaseType (System.RuntimeType), imethod ptr 0x158250110
39% Opcounts 180057, calls 60019, Method System.Type:GetUnderlyingNativeHandle (), imethod ptr 0x1580b5710
41% Opcounts 150000, calls 30000, Method System.RuntimeType:get_IsActualEnum (), imethod ptr 0x158254b58
43% Opcounts 130273, calls 10021, Method System.Text.Unicode.Utf8Utility:TranscodeToUtf8 (char*,int,byte*,int,char*&,byte*&), imethod ptr 0x15817d1d0
47% Opcounts 330627, calls 10019, Method System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller/ManagedToUnmanagedIn:FromManaged (string,System.Span`1<byte>), imethod ptr 0x158170870
55% Opcounts 573105, calls 10021, Method System.Text.ASCIIUtility:NarrowUtf16ToAscii (char*,byte*,uintptr), imethod ptr 0x15817da38
59% Opcounts 250000, calls 10000, Method Interop/Sys:Access (string,Interop/Sys/AccessMode), imethod ptr 0x158237ec0
64% Opcounts 400000, calls 10000, Method System.RuntimeType:IsEnumDefined (object), imethod ptr 0x158254a70
67% Opcounts 150000, calls 30000, Method (wrapper managed-to-native) System.RuntimeTypeHandle:GetBaseType (System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack), imethod ptr 0x158250288
69% Opcounts 140000, calls 10000, Method System.Environment:GetFolderPathCore (System.Environment/SpecialFolder,System.Environment/SpecialFolderOption), imethod ptr 0x1582546b8
71% Opcounts 180342, calls 10019, Method System.Text.UTF8Encoding:GetBytes (System.ReadOnlySpan`1<char>,System.Span`1<byte>), imethod ptr 0x15817cc70
73% Opcounts 120000, calls 10000, Method System.Array:BinarySearch<ulong> (ulong[],int,int,ulong,System.Collections.Generic.IComparer`1<ulong>), imethod ptr 0x15807b1b8
74% Opcounts 110810, calls 6, Method System.SpanHelpers:IndexOfNullCharacter (char&), imethod ptr 0x1580e6ee0

After the change

SEQ POINT MAP FOR GetFolderPath: 
Total executed opcodes 8089193
1% Opcounts 130273, calls 10021, Method System.Text.UTF8Encoding:GetBytesFast (char*,int,byte*,int,int&), imethod ptr 0x12e0b5090
4% Opcounts 260000, calls 20000, Method System.Enum:InternalGetUnderlyingType (System.RuntimeType), imethod ptr 0x13f0a7e08
20% Opcounts 1260000, calls 10000, Method System.Collections.Generic.GenericArraySortHelper`1<ulong>:BinarySearch (ulong[],int,int,ulong), imethod ptr 0x13f0d9598
23% Opcounts 240000, calls 30000, Method System.RuntimeType:get_IsActualEnum (), imethod ptr 0x13f0a7558
25% Opcounts 180342, calls 10019, Method System.Text.UTF8Encoding:GetBytes (System.ReadOnlySpan`1<char>,System.Span`1<byte>), imethod ptr 0x12e0b4c70
28% Opcounts 250000, calls 10000, Method Interop/Sys:Access (string,Interop/Sys/AccessMode), imethod ptr 0x13f0d9b68
35% Opcounts 573105, calls 10021, Method System.Text.ASCIIUtility:NarrowUtf16ToAscii (char*,byte*,uintptr), imethod ptr 0x12e0b5a38
40% Opcounts 390000, calls 30000, Method System.RuntimeTypeHandle:GetBaseType (System.RuntimeType), imethod ptr 0x13f0a8710
45% Opcounts 400000, calls 10000, Method System.RuntimeType:IsEnumDefined (object), imethod ptr 0x13f0a7470
48% Opcounts 270057, calls 90019, Method System.Type:GetUnderlyingNativeHandle (), imethod ptr 0x13f055910
50% Opcounts 140000, calls 10000, Method System.Environment:GetFolderPathCore (System.Environment/SpecialFolder,System.Environment/SpecialFolderOption), imethod ptr 0x13f0a70b8
60% Opcounts 810171, calls 90019, Method System.Runtime.CompilerServices.QCallTypeHandle:.ctor (System.RuntimeType&), imethod ptr 0x13f055638
62% Opcounts 150000, calls 30000, Method (wrapper managed-to-native) System.RuntimeTypeHandle:GetBaseType (System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack), imethod ptr 0x13f0a8ee8
65% Opcounts 210000, calls 30000, Method System.RuntimeTypeHandle:IsGenericVariable (System.RuntimeType), imethod ptr 0x13f0a8970
66% Opcounts 150000, calls 30000, Method System.RuntimeTypeHandle:GetCorElementType (System.RuntimeType), imethod ptr 0x13f0a8ab0
68% Opcounts 130273, calls 10021, Method System.Text.Unicode.Utf8Utility:TranscodeToUtf8 (char*,int,byte*,int,char*&,byte*&), imethod ptr 0x12e0b51d0
72% Opcounts 330627, calls 10019, Method System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller/ManagedToUnmanagedIn:FromManaged (string,System.Span`1<byte>), imethod ptr 0x12e0a8870
74% Opcounts 120000, calls 10000, Method System.Array:BinarySearch<ulong> (ulong[],int,int,ulong,System.Collections.Generic.IComparer`1<ulong>), imethod ptr 0x13f0c46f8
75% Opcounts 120000, calls 30000, Method (wrapper managed-to-native) System.RuntimeTypeHandle:GetCorElementType (System.Runtime.CompilerServices.QCallTypeHandle), imethod ptr 0x13f0a8c10
76% Opcounts 110810, calls 6, Method System.SpanHelpers:IndexOfNullCharacter (char&), imethod ptr 0x12e01bee0

@jeffhandley jeffhandley added os-linux Linux OS (any supported distro) arch-x64 and removed refs/heads/main labels Dec 28, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Jan 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants