Skip to content

[MichalPetryka] Unify Default Comparer logic #75

Open
@MihuBot

Description

@MihuBot

Build completed in 1 hour 40 minutes.
dotnet/runtime#88006

CoreLib diffs

Found 2 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 6956349
Total bytes of diff: 6955963
Total bytes of delta: -386 (-0.01 % of base)
Total relative delta: -0.04
    diff is an improvement.
    relative diff is an improvement.


Total byte diff includes -366 bytes from reconciling methods
	Base had    2 unique methods,      366 unique bytes
	Diff had    0 unique methods,        0 unique bytes

Top file improvements (bytes):
        -386 : System.Private.CoreLib.dasm (-0.01 % of base)

1 total files with Code Size differences (1 improved, 0 regressed), 0 unchanged.

Top method regressions (bytes):
          10 (2.39 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultComparer(System.Type):System.Object (FullOpts)
           2 (0.47 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[ubyte]:Remove(ubyte):bool:this (FullOpts)

Top method improvements (bytes):
        -183 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:TryCreateEnumComparer(System.RuntimeType):System.Object (FullOpts) (1 base, 0 diff methods)
        -183 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:TryCreateEnumEqualityComparer(System.RuntimeType):System.Object (FullOpts) (1 base, 0 diff methods)
         -24 (-4.79 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (FullOpts)
          -4 (-0.90 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Dictionary`2[ubyte,System.Nullable`1[int]]:Remove(ubyte,byref):bool:this (FullOpts)
          -4 (-0.93 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Dictionary`2[ubyte,System.Nullable`1[int]]:Remove(ubyte):bool:this (FullOpts)

Top method regressions (percentages):
          10 (2.39 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultComparer(System.Type):System.Object (FullOpts)
           2 (0.47 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[ubyte]:Remove(ubyte):bool:this (FullOpts)

Top method improvements (percentages):
        -183 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:TryCreateEnumComparer(System.RuntimeType):System.Object (FullOpts) (1 base, 0 diff methods)
        -183 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:TryCreateEnumEqualityComparer(System.RuntimeType):System.Object (FullOpts) (1 base, 0 diff methods)
         -24 (-4.79 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (FullOpts)
          -4 (-0.93 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Dictionary`2[ubyte,System.Nullable`1[int]]:Remove(ubyte):bool:this (FullOpts)
          -4 (-0.90 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Dictionary`2[ubyte,System.Nullable`1[int]]:Remove(ubyte,byref):bool:this (FullOpts)

7 total methods with Code Size differences (5 improved, 2 regressed), 52388 unchanged.

--------------------------------------------------------------------------------

Frameworks diffs

Diffs
Found 377 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 38344310
Total bytes of diff: 38344134
Total bytes of delta: -176 (-0.00 % of base)
Total relative delta: 1.08
    diff is an improvement.
    relative diff is a regression.


Total byte diff includes -366 bytes from reconciling methods
	Base had    2 unique methods,      366 unique bytes
	Diff had    0 unique methods,        0 unique bytes

Top file regressions (bytes):
         117 : Microsoft.NET.WebAssembly.Webcil.dasm (0.48 % of base)
          39 : System.Text.RegularExpressions.dasm (0.01 % of base)
          22 : System.Collections.Concurrent.dasm (0.01 % of base)
          22 : System.Collections.Immutable.dasm (0.00 % of base)
           8 : System.Text.Json.dasm (0.00 % of base)
           2 : System.Collections.dasm (0.00 % of base)

Top file improvements (bytes):
        -386 : System.Private.CoreLib.dasm (-0.01 % of base)

7 total files with Code Size differences (1 improved, 6 regressed), 249 unchanged.

Top method regressions (bytes):
          60 (23.26 % of base) : Microsoft.NET.WebAssembly.Webcil.dasm - Microsoft.NET.WebAssembly.Webcil.WebcilConverter+PEFileInfo:GetHashCode():int:this (FullOpts)
          57 (20.07 % of base) : Microsoft.NET.WebAssembly.Webcil.dasm - Microsoft.NET.WebAssembly.Webcil.WebcilConverter+WCFileInfo:GetHashCode():int:this (FullOpts)
          20 (14.49 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.CaptureCollection:System.Collections.Generic.IList<System.Text.RegularExpressions.Capture>.IndexOf(System.Text.RegularExpressions.Capture):int:this (FullOpts)
          19 (12.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.ValueTypeDefaultComparerFrozenDictionary`2[ubyte,System.Nullable`1[int]]:GetValueRefOrNullRefCore(ubyte):byref:this (FullOpts)
          19 (13.77 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.ValueTypeDefaultComparerFrozenSet`1[ubyte]:FindItemIndex(ubyte):int:this (FullOpts)
          19 (12.34 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.GroupCollection:System.Collections.Generic.IList<System.Text.RegularExpressions.Group>.IndexOf(System.Text.RegularExpressions.Group):int:this (FullOpts)
          11 (1.42 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ubyte,System.Nullable`1[int]]:TryRemoveInternal(ubyte,byref,bool,System.Nullable`1[int]):bool:this (FullOpts)
          10 (2.39 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultComparer(System.Type):System.Object (FullOpts)
           8 (17.02 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:<ConfigureIgnoreCondition>g__ShouldSerializeIgnoreWhenWritingDefault|31_2(System.Object,ubyte):bool (FullOpts)
           6 (0.79 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ubyte,System.Nullable`1[int]]:TryUpdateInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ubyte,System.Nullable`1[int]],ubyte,System.Nullable`1[int],System.Nullable`1[int],System.Nullable`1[int]):bool:this (FullOpts)
           3 (0.30 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ubyte,System.Nullable`1[int]]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ubyte,System.Nullable`1[int]],ubyte,System.Nullable`1[int],System.Nullable`1[int],bool,bool,byref):bool:this (FullOpts)
           2 (4.17 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ubyte,System.Nullable`1[int]]:NodeEqualsKey(System.Collections.Generic.IEqualityComparer`1[ubyte],System.Collections.Concurrent.ConcurrentDictionary`2+Node[ubyte,System.Nullable`1[int]],ubyte):bool (FullOpts)
           2 (0.47 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[ubyte]:Remove(ubyte):bool:this (FullOpts)
           2 (0.98 % of base) : System.Collections.dasm - System.Collections.StructuralComparer:Compare(System.Object,System.Object):int:this (FullOpts)

Top method improvements (bytes):
        -183 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:TryCreateEnumComparer(System.RuntimeType):System.Object (FullOpts) (1 base, 0 diff methods)
        -183 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:TryCreateEnumEqualityComparer(System.RuntimeType):System.Object (FullOpts) (1 base, 0 diff methods)
         -24 (-4.79 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (FullOpts)
          -9 (-4.37 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[ubyte]:System.Collections.IList.Contains(System.Object):bool:this (FullOpts)
          -7 (-5.56 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[ubyte]:Contains(ubyte):bool:this (FullOpts)
          -4 (-0.90 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Dictionary`2[ubyte,System.Nullable`1[int]]:Remove(ubyte,byref):bool:this (FullOpts)
          -4 (-0.93 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Dictionary`2[ubyte,System.Nullable`1[int]]:Remove(ubyte):bool:this (FullOpts)

Top method regressions (percentages):
          60 (23.26 % of base) : Microsoft.NET.WebAssembly.Webcil.dasm - Microsoft.NET.WebAssembly.Webcil.WebcilConverter+PEFileInfo:GetHashCode():int:this (FullOpts)
          57 (20.07 % of base) : Microsoft.NET.WebAssembly.Webcil.dasm - Microsoft.NET.WebAssembly.Webcil.WebcilConverter+WCFileInfo:GetHashCode():int:this (FullOpts)
           8 (17.02 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:<ConfigureIgnoreCondition>g__ShouldSerializeIgnoreWhenWritingDefault|31_2(System.Object,ubyte):bool (FullOpts)
          20 (14.49 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.CaptureCollection:System.Collections.Generic.IList<System.Text.RegularExpressions.Capture>.IndexOf(System.Text.RegularExpressions.Capture):int:this (FullOpts)
          19 (13.77 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.ValueTypeDefaultComparerFrozenSet`1[ubyte]:FindItemIndex(ubyte):int:this (FullOpts)
          19 (12.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.ValueTypeDefaultComparerFrozenDictionary`2[ubyte,System.Nullable`1[int]]:GetValueRefOrNullRefCore(ubyte):byref:this (FullOpts)
          19 (12.34 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.GroupCollection:System.Collections.Generic.IList<System.Text.RegularExpressions.Group>.IndexOf(System.Text.RegularExpressions.Group):int:this (FullOpts)
           2 (4.17 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ubyte,System.Nullable`1[int]]:NodeEqualsKey(System.Collections.Generic.IEqualityComparer`1[ubyte],System.Collections.Concurrent.ConcurrentDictionary`2+Node[ubyte,System.Nullable`1[int]],ubyte):bool (FullOpts)
          10 (2.39 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultComparer(System.Type):System.Object (FullOpts)
          11 (1.42 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ubyte,System.Nullable`1[int]]:TryRemoveInternal(ubyte,byref,bool,System.Nullable`1[int]):bool:this (FullOpts)
           2 (0.98 % of base) : System.Collections.dasm - System.Collections.StructuralComparer:Compare(System.Object,System.Object):int:this (FullOpts)
           6 (0.79 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ubyte,System.Nullable`1[int]]:TryUpdateInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ubyte,System.Nullable`1[int]],ubyte,System.Nullable`1[int],System.Nullable`1[int],System.Nullable`1[int]):bool:this (FullOpts)
           2 (0.47 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[ubyte]:Remove(ubyte):bool:this (FullOpts)
           3 (0.30 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ubyte,System.Nullable`1[int]]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[ubyte,System.Nullable`1[int]],ubyte,System.Nullable`1[int],System.Nullable`1[int],bool,bool,byref):bool:this (FullOpts)

Top method improvements (percentages):
        -183 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:TryCreateEnumComparer(System.RuntimeType):System.Object (FullOpts) (1 base, 0 diff methods)
        -183 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:TryCreateEnumEqualityComparer(System.RuntimeType):System.Object (FullOpts) (1 base, 0 diff methods)
          -7 (-5.56 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[ubyte]:Contains(ubyte):bool:this (FullOpts)
         -24 (-4.79 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (FullOpts)
          -9 (-4.37 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[ubyte]:System.Collections.IList.Contains(System.Object):bool:this (FullOpts)
          -4 (-0.93 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Dictionary`2[ubyte,System.Nullable`1[int]]:Remove(ubyte):bool:this (FullOpts)
          -4 (-0.90 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Dictionary`2[ubyte,System.Nullable`1[int]]:Remove(ubyte,byref):bool:this (FullOpts)

21 total methods with Code Size differences (7 improved, 14 regressed), 232924 unchanged.

--------------------------------------------------------------------------------

Artifacts:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions