KEMBAR78
[X64] [EgorBo] Optimize a castclass over nullables · Issue #210 · MihuBot/runtime-utils · GitHub
Skip to content

[X64] [EgorBo] Optimize a castclass over nullables #210

@MihuBot

Description

@MihuBot

Build completed in 2 hours 12 minutes.
dotnet/runtime#95764

CoreLib diffs

Found 2 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 6768752
Total bytes of diff: 6772138
Total bytes of delta: 3386 (0.05 % of base)
Total relative delta: 8.94
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
        3386 : System.Private.CoreLib.dasm (0.05 % of base)

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

Top method regressions (bytes):
         436 (103.56 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         378 (91.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
         373 (91.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         369 (91.79 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):ubyte:this (FullOpts)
         348 (70.02 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:<AppendSpanFormattable>g__GrowAndAppendFormatted|20_0[System.Nullable`1[int]](byref,System.Nullable`1[int],int,byref,System.String):ubyte (FullOpts)
         339 (99.41 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendSpanFormattable[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         324 (109.46 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder+AppendInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
         308 (78.57 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):this (FullOpts)
         300 (77.32 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):ubyte:this (FullOpts)
         276 (101.47 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder+AppendInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):this (FullOpts)
          10 (3.42 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (3.18 % of base) : System.Private.CoreLib.dasm - System.Tuple`1[System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.49 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[double,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.71 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[int,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.70 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[long,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.69 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[short,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.85 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.__Canon,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.48 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.69 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[ubyte,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)

Top method improvements (bytes):
         -48 (-11.57 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:IndexOf(System.Nullable`1[int][],System.Nullable`1[int],int,int):int:this (FullOpts)
         -48 (-11.51 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:LastIndexOf(System.Nullable`1[int][],System.Nullable`1[int],int,int):int:this (FullOpts)
         -19 (-15.45 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this (FullOpts)

Top method regressions (percentages):
         324 (109.46 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder+AppendInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
         436 (103.56 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         276 (101.47 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder+AppendInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):this (FullOpts)
         339 (99.41 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendSpanFormattable[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         369 (91.79 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):ubyte:this (FullOpts)
         373 (91.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         378 (91.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
         308 (78.57 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):this (FullOpts)
         300 (77.32 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):ubyte:this (FullOpts)
         348 (70.02 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:<AppendSpanFormattable>g__GrowAndAppendFormatted|20_0[System.Nullable`1[int]](byref,System.Nullable`1[int],int,byref,System.String):ubyte (FullOpts)
          10 (3.42 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (3.18 % of base) : System.Private.CoreLib.dasm - System.Tuple`1[System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.85 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.__Canon,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.71 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[int,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.70 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[long,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.69 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[short,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.69 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[ubyte,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.49 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[double,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.48 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)

Top method improvements (percentages):
         -19 (-15.45 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this (FullOpts)
         -48 (-11.57 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:IndexOf(System.Nullable`1[int][],System.Nullable`1[int],int,int):int:this (FullOpts)
         -48 (-11.51 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:LastIndexOf(System.Nullable`1[int][],System.Nullable`1[int],int,int):int:this (FullOpts)

22 total methods with Code Size differences (3 improved, 19 regressed), 55796 unchanged.

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

Frameworks diffs

Diffs
Found 281 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 37996144
Total bytes of diff: 37996202
Total bytes of delta: 58 (0.00 % of base)
Total relative delta: -5.99
    diff is a regression.
    relative diff is an improvement.


Top file regressions (bytes):
        3386 : System.Private.CoreLib.dasm (0.05 % of base)

Top file improvements (bytes):
       -1324 : System.Text.Json.dasm (-0.10 % of base)
        -732 : Microsoft.Extensions.Logging.Abstractions.dasm (-1.00 % of base)
        -346 : System.Diagnostics.DiagnosticSource.dasm (-0.15 % of base)
        -325 : System.ComponentModel.TypeConverter.dasm (-0.11 % of base)
        -236 : Microsoft.Extensions.Logging.Console.dasm (-0.28 % of base)
        -104 : System.Data.Common.dasm (-0.01 % of base)
         -88 : System.Reflection.Context.dasm (-0.15 % of base)
         -46 : System.ComponentModel.Composition.dasm (-0.01 % of base)
         -41 : System.Linq.Expressions.dasm (-0.00 % of base)
         -40 : System.Threading.Tasks.Dataflow.dasm (-0.00 % of base)
         -27 : System.Private.Xml.dasm (-0.00 % of base)
         -19 : System.Linq.Parallel.dasm (-0.00 % of base)

13 total files with Code Size differences (12 improved, 1 regressed), 243 unchanged.

Top method regressions (bytes):
         436 (103.56 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         378 (91.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
         373 (91.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         369 (91.79 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):ubyte:this (FullOpts)
         348 (70.02 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:<AppendSpanFormattable>g__GrowAndAppendFormatted|20_0[System.Nullable`1[int]](byref,System.Nullable`1[int],int,byref,System.String):ubyte (FullOpts)
         339 (99.41 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendSpanFormattable[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         324 (109.46 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder+AppendInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
         308 (78.57 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):this (FullOpts)
         300 (77.32 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):ubyte:this (FullOpts)
         276 (101.47 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder+AppendInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):this (FullOpts)
          10 (3.42 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (3.18 % of base) : System.Private.CoreLib.dasm - System.Tuple`1[System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.49 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[double,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.71 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[int,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.70 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[long,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.69 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[short,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.85 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.__Canon,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.48 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.69 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[ubyte,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)

Top method improvements (bytes):
        -732 (-86.52 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:TryFormatArgumentIfNullOrEnumerable[System.Nullable`1[int]](System.Nullable`1[int],byref):ubyte (FullOpts)
        -236 (-7.93 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Logging.Console.JsonConsoleFormatter:Write[System.Nullable`1[int]](byref,Microsoft.Extensions.Logging.IExternalScopeProvider,System.IO.TextWriter):this (FullOpts)
        -200 (-95.24 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Nullable`1[int]]:get_TraceId():System.Diagnostics.ActivityTraceId:this (FullOpts)
        -153 (-96.23 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:HookPropertyChanged(System.Nullable`1[int]):this (FullOpts)
        -146 (-36.87 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Nullable`1[int]]:.ctor(System.Diagnostics.ActivitySource,System.String,System.Nullable`1[int],int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (FullOpts)
        -122 (-40.40 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[System.__Canon](byref):ubyte:this (FullOpts)
        -101 (-58.05 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[int](byref):ubyte:this (FullOpts)
         -97 (-25.46 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[System.__Canon]():System.__Canon:this (FullOpts)
         -89 (-32.60 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[int]():int:this (FullOpts)
         -84 (-93.33 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:UnhookPropertyChanged(System.Nullable`1[int]):this (FullOpts)
         -79 (-47.02 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[System.Nullable`1[int]](byref):ubyte:this (FullOpts)
         -79 (-75.96 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[System.Numerics.Vector`1[float]](byref):ubyte:this (FullOpts)
         -76 (-82.61 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[short](byref):ubyte:this (FullOpts)
         -76 (-84.44 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[ubyte](byref):ubyte:this (FullOpts)
         -75 (-84.27 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[double](byref):ubyte:this (FullOpts)
         -75 (-84.27 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[long](byref):ubyte:this (FullOpts)
         -74 (-33.48 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[System.Numerics.Vector`1[float]]():System.Numerics.Vector`1[float]:this (FullOpts)
         -68 (-31.63 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[double]():double:this (FullOpts)
         -65 (-18.79 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:ClearItems():this (FullOpts)
         -65 (-30.66 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[long]():long:this (FullOpts)
         -65 (-30.66 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[short]():short:this (FullOpts)
         -65 (-24.62 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[System.Nullable`1[int]]():System.Nullable`1[int]:this (FullOpts)
         -65 (-30.66 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[ubyte]():ubyte:this (FullOpts)
         -61 (-62.24 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.Projection.Projector:Project[System.Nullable`1[int]](System.Nullable`1[int],System.Func`2[System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int]:this (FullOpts)
         -53 (-12.77 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonNode:ConvertFromValue[System.Nullable`1[int]](System.Nullable`1[int],System.Nullable`1[System.Text.Json.Nodes.JsonNodeOptions]):System.Text.Json.Nodes.JsonNode (FullOpts)
         -48 (-11.57 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:IndexOf(System.Nullable`1[int][],System.Nullable`1[int],int,int):int:this (FullOpts)
         -48 (-11.51 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:LastIndexOf(System.Nullable`1[int][],System.Nullable`1[int],int,int):int:this (FullOpts)
         -43 (-45.74 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Nullable`1[int]]:<CloneCast>b__0(System.Nullable`1[int]):System.Object:this (FullOpts)
         -43 (-45.74 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Nullable`1[int]]:<CloneCast>b__1(System.Nullable`1[int]):System.Object:this (FullOpts)
         -40 (-9.22 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[System.Nullable`1[int]](System.Exception,System.Nullable`1[int],ubyte) (FullOpts)
         -27 (-12.74 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:IsArrayEqual[System.Nullable`1[int]](System.Nullable`1[int][],System.Nullable`1[int][]):ubyte (FullOpts)
         -27 (-12.74 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.CollectionServices:CompareArrays[System.Nullable`1[int]](System.Nullable`1[int][],System.Nullable`1[int][]):ubyte (FullOpts)
         -27 (-12.05 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.ListBase`1[System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this (FullOpts)
         -23 (-3.04 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:Child_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs):this (FullOpts)
         -22 (-11.22 % of base) : System.Linq.Expressions.dasm - System.Dynamic.Utils.CacheDict`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this (FullOpts)
         -19 (-7.06 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:IsCollectionEqual[System.Nullable`1[int]](System.Collections.Generic.IList`1[System.Nullable`1[int]],System.Collections.Generic.IList`1[System.Nullable`1[int]]):ubyte (FullOpts)
         -19 (-15.45 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this (FullOpts)
         -19 (-7.57 % of base) : System.Linq.Expressions.dasm - System.Dynamic.Utils.CacheDict`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this (FullOpts)
         -19 (-12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.HashLookup`2[System.Nullable`1[int],System.Nullable`1[int]]:AreKeysEqual(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this (FullOpts)
         -18 (-6.90 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Nullable`1[int]]:GetNodeByKey(System.Nullable`1[int]):System.Data.RBTree`1+NodePath[System.Nullable`1[int]]:this (FullOpts)

Top method regressions (percentages):
         324 (109.46 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder+AppendInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
         436 (103.56 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         276 (101.47 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder+AppendInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):this (FullOpts)
         339 (99.41 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendSpanFormattable[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         369 (91.79 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):ubyte:this (FullOpts)
         373 (91.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         378 (91.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
         308 (78.57 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):this (FullOpts)
         300 (77.32 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):ubyte:this (FullOpts)
         348 (70.02 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:<AppendSpanFormattable>g__GrowAndAppendFormatted|20_0[System.Nullable`1[int]](byref,System.Nullable`1[int],int,byref,System.String):ubyte (FullOpts)
          10 (3.42 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (3.18 % of base) : System.Private.CoreLib.dasm - System.Tuple`1[System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.85 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.__Canon,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.71 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[int,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.70 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[long,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.69 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[short,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.69 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[ubyte,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.49 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[double,System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)
           5 (1.48 % of base) : System.Private.CoreLib.dasm - System.Tuple`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString(System.Text.StringBuilder):System.String:this (FullOpts)

Top method improvements (percentages):
        -153 (-96.23 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:HookPropertyChanged(System.Nullable`1[int]):this (FullOpts)
        -200 (-95.24 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Nullable`1[int]]:get_TraceId():System.Diagnostics.ActivityTraceId:this (FullOpts)
         -84 (-93.33 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:UnhookPropertyChanged(System.Nullable`1[int]):this (FullOpts)
        -732 (-86.52 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:TryFormatArgumentIfNullOrEnumerable[System.Nullable`1[int]](System.Nullable`1[int],byref):ubyte (FullOpts)
         -76 (-84.44 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[ubyte](byref):ubyte:this (FullOpts)
         -75 (-84.27 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[double](byref):ubyte:this (FullOpts)
         -75 (-84.27 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[long](byref):ubyte:this (FullOpts)
         -76 (-82.61 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[short](byref):ubyte:this (FullOpts)
         -79 (-75.96 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[System.Numerics.Vector`1[float]](byref):ubyte:this (FullOpts)
         -61 (-62.24 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.Projection.Projector:Project[System.Nullable`1[int]](System.Nullable`1[int],System.Func`2[System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int]:this (FullOpts)
        -101 (-58.05 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[int](byref):ubyte:this (FullOpts)
         -79 (-47.02 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[System.Nullable`1[int]](byref):ubyte:this (FullOpts)
         -43 (-45.74 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Nullable`1[int]]:<CloneCast>b__0(System.Nullable`1[int]):System.Object:this (FullOpts)
         -43 (-45.74 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Nullable`1[int]]:<CloneCast>b__1(System.Nullable`1[int]):System.Object:this (FullOpts)
        -122 (-40.40 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:TryGetValue[System.__Canon](byref):ubyte:this (FullOpts)
        -146 (-36.87 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Nullable`1[int]]:.ctor(System.Diagnostics.ActivitySource,System.String,System.Nullable`1[int],int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (FullOpts)
         -74 (-33.48 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[System.Numerics.Vector`1[float]]():System.Numerics.Vector`1[float]:this (FullOpts)
         -89 (-32.60 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[int]():int:this (FullOpts)
         -68 (-31.63 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[double]():double:this (FullOpts)
         -65 (-30.66 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[long]():long:this (FullOpts)
         -65 (-30.66 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[short]():short:this (FullOpts)
         -65 (-30.66 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[ubyte]():ubyte:this (FullOpts)
         -97 (-25.46 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[System.__Canon]():System.__Canon:this (FullOpts)
         -65 (-24.62 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Nullable`1[int]]:GetValue[System.Nullable`1[int]]():System.Nullable`1[int]:this (FullOpts)
         -65 (-18.79 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:ClearItems():this (FullOpts)
         -19 (-15.45 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this (FullOpts)
         -53 (-12.77 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonNode:ConvertFromValue[System.Nullable`1[int]](System.Nullable`1[int],System.Nullable`1[System.Text.Json.Nodes.JsonNodeOptions]):System.Text.Json.Nodes.JsonNode (FullOpts)
         -27 (-12.74 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:IsArrayEqual[System.Nullable`1[int]](System.Nullable`1[int][],System.Nullable`1[int][]):ubyte (FullOpts)
         -27 (-12.74 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.CollectionServices:CompareArrays[System.Nullable`1[int]](System.Nullable`1[int][],System.Nullable`1[int][]):ubyte (FullOpts)
         -19 (-12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.HashLookup`2[System.Nullable`1[int],System.Nullable`1[int]]:AreKeysEqual(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this (FullOpts)
         -27 (-12.05 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.ListBase`1[System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this (FullOpts)
         -48 (-11.57 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:IndexOf(System.Nullable`1[int][],System.Nullable`1[int],int,int):int:this (FullOpts)
         -48 (-11.51 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[System.Nullable`1[int]]:LastIndexOf(System.Nullable`1[int][],System.Nullable`1[int],int,int):int:this (FullOpts)
         -22 (-11.22 % of base) : System.Linq.Expressions.dasm - System.Dynamic.Utils.CacheDict`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this (FullOpts)
         -40 (-9.22 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[System.Nullable`1[int]](System.Exception,System.Nullable`1[int],ubyte) (FullOpts)
        -236 (-7.93 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Logging.Console.JsonConsoleFormatter:Write[System.Nullable`1[int]](byref,Microsoft.Extensions.Logging.IExternalScopeProvider,System.IO.TextWriter):this (FullOpts)
         -19 (-7.57 % of base) : System.Linq.Expressions.dasm - System.Dynamic.Utils.CacheDict`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this (FullOpts)
         -19 (-7.06 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:IsCollectionEqual[System.Nullable`1[int]](System.Collections.Generic.IList`1[System.Nullable`1[int]],System.Collections.Generic.IList`1[System.Nullable`1[int]]):ubyte (FullOpts)
         -18 (-6.90 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Nullable`1[int]]:GetNodeByKey(System.Nullable`1[int]):System.Data.RBTree`1+NodePath[System.Nullable`1[int]]:this (FullOpts)
         -23 (-3.04 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:Child_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs):this (FullOpts)

59 total methods with Code Size differences (40 improved, 19 regressed), 236016 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