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

Arm64: Use zero register wherever possible #52269

Merged
merged 1 commit into from May 6, 2021

Conversation

kunalspathak
Copy link
Member

While investigating #41704 I noticed that we do not use zero register often, but instead move #0 to a register and then use that register. This minor PR fixes that issue (thanks to @echesakov for cross checking the fix). For Arm64, we would just mark such node as contained and then, wherever that value is used, code generation already handles the cases for 0 immediate by emitting REG_ZR.

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label May 4, 2021
@kunalspathak
Copy link
Member Author

Windows Arm64 (libraries.pmi)


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 17847844
Total bytes of diff: 17789184
Total bytes of delta: -58660 (-0.33% of base)
    diff is an improvement.
Detail diffs


Top file regressions (bytes):
         112 : 172426.dasm (0.95% of base)
          44 : 23832.dasm (2.61% of base)
          40 : 131859.dasm (3.08% of base)
          32 : 207482.dasm (3.56% of base)
          32 : 208471.dasm (3.56% of base)
          32 : 48254.dasm (2.99% of base)
          28 : 162530.dasm (13.21% of base)
          28 : 129812.dasm (1.69% of base)
          28 : 70300.dasm (4.07% of base)
          24 : 12160.dasm (2.37% of base)
          20 : 158519.dasm (6.02% of base)
          20 : 71101.dasm (3.09% of base)
          20 : 196316.dasm (6.76% of base)
          20 : 228882.dasm (1.64% of base)
          20 : 74982.dasm (35.71% of base)
          20 : 45337.dasm (1.06% of base)
          20 : 48004.dasm (15.15% of base)
          20 : 44902.dasm (1.00% of base)
          20 : 199873.dasm (14.29% of base)
          20 : 80805.dasm (2.89% of base)

Top file improvements (bytes):
        -288 : 74118.dasm (-3.39% of base)
        -208 : 53074.dasm (-0.66% of base)
        -140 : 23310.dasm (-0.64% of base)
        -128 : 207471.dasm (-15.61% of base)
        -128 : 207248.dasm (-15.76% of base)
        -120 : 172152.dasm (-7.06% of base)
        -116 : 136855.dasm (-5.98% of base)
        -112 : 47481.dasm (-1.99% of base)
        -112 : 206832.dasm (-14.51% of base)
        -108 : 172156.dasm (-2.75% of base)
        -108 : 187258.dasm (-1.54% of base)
        -108 : 73451.dasm (-5.68% of base)
        -100 : 202480.dasm (-1.01% of base)
         -92 : 74161.dasm (-3.25% of base)
         -92 : 73491.dasm (-5.69% of base)
         -88 : 51432.dasm (-1.66% of base)
         -84 : 73639.dasm (-6.00% of base)
         -80 : 47746.dasm (-1.25% of base)
         -80 : 73493.dasm (-5.46% of base)
         -76 : 127773.dasm (-1.70% of base)

10071 total files with Code Size differences (9593 improved, 478 regressed), 23015 unchanged.

Top method regressions (bytes):
         112 ( 0.95% of base) : 172426.dasm - System.Formats.Asn1.AsnWriter:WriteGeneralizedTimeCore(System.Formats.Asn1.Asn1Tag,System.DateTimeOffset,bool):this
          44 ( 2.61% of base) : 23832.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetDeclarationName(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode):System.String:this
          40 ( 3.08% of base) : 131859.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ConstVal:IsDefault(System.Object):bool
          32 ( 3.56% of base) : 207482.dasm - <>c:<OpenProcessor>b__15_0(System.Security.Cryptography.HashAlgorithmName):System.Security.Cryptography.RsaPaddingProcessor:this
          32 ( 3.56% of base) : 208471.dasm - <>c:<OpenProcessor>b__15_0(System.Security.Cryptography.HashAlgorithmName):System.Security.Cryptography.RsaPaddingProcessor:this
          32 ( 2.99% of base) : 48254.dasm - Microsoft.CodeAnalysis.VisualBasic.InitializerSemanticModel:Bind(Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundNode:this
          28 (13.21% of base) : 162530.dasm - System.Data.OleDb.OleDbConnection:get_Provider():System.String:this
          28 ( 1.69% of base) : 129812.dasm - <MapValuesImpl>d__1:MoveNext():bool:this
          28 ( 4.07% of base) : 70300.dasm - TypeBinder:GetBaseNamesForDiagnostic(Microsoft.CodeAnalysis.VisualBasic.Syntax.TypeSyntax):System.String
          24 ( 2.37% of base) : 12160.dasm - OperatorIntrinsics:GetArraySlice4D(System.__Canon[,,,],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32]):System.__Canon[,,,]
          20 ( 6.02% of base) : 158519.dasm - System.Configuration.ClientConfigurationHost:GetStreamName(System.String):System.String:this
          20 ( 3.09% of base) : 71101.dasm - ComClassData:.ctor(Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData):this
          20 ( 6.76% of base) : 196316.dasm - System.Net.Sockets.SocketPal:TransmitFileHelper(System.Runtime.InteropServices.SafeHandle,System.Runtime.InteropServices.SafeHandle,long,long,int,long,int,int):bool
          20 ( 1.64% of base) : 228882.dasm - <GetCommandSyntax>d__10:MoveNext():bool:this
          20 (35.71% of base) : 74982.dasm - Microsoft.CodeAnalysis.DesktopStrongNameProvider:GetStrongNameInterface():Microsoft.CodeAnalysis.Interop.IClrStrongName:this
          20 ( 1.06% of base) : 45337.dasm - <GetMethodsToEmit>d__68:MoveNext():bool:this
          20 (15.15% of base) : 48004.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:get_ContainingModule():Microsoft.CodeAnalysis.VisualBasic.Symbols.ModuleSymbol:this
          20 ( 1.00% of base) : 44902.dasm - <Microsoft-Cci-ITypeDefinition-GetExplicitImplementationOverrides>d__31:MoveNext():bool:this
          20 (14.29% of base) : 199873.dasm - System.Reflection.TypeLoading.RoConstructor:ToString():System.String:this
          20 ( 2.89% of base) : 80805.dasm - <GetTopLevelTypes>d__8:MoveNext():bool:this

Top method improvements (bytes):
        -288 (-3.39% of base) : 74118.dasm - Microsoft.Cci.PeWriter:WriteHeaders(System.IO.Stream,Microsoft.Cci.NtHeader,Microsoft.Cci.CoffHeader,System.Collections.Generic.List`1[[Microsoft.Cci.SectionHeader, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
        -208 (-0.66% of base) : 53074.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCommandLineParser:Parse(System.Collections.Generic.IEnumerable`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.String,System.String,System.String):Microsoft.CodeAnalysis.VisualBasic.VisualBasicCommandLineArguments:this
        -140 (-0.64% of base) : 23310.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCommandLineParser:Parse(System.Collections.Generic.IEnumerable`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.String,System.String,System.String):Microsoft.CodeAnalysis.CSharp.CSharpCommandLineArguments:this
        -128 (-15.61% of base) : 207471.dasm - System.Security.Cryptography.RSAKeyFormatHelper:WritePkcs1PrivateKey(byref):System.Formats.Asn1.AsnWriter
        -128 (-15.76% of base) : 207248.dasm - System.Security.Cryptography.RSA:ToXmlString(bool):System.String:this
        -120 (-7.06% of base) : 172152.dasm - System.Drawing.ColorTranslator:FromOle(int):System.Drawing.Color
        -116 (-5.98% of base) : 136855.dasm - Microsoft.VisualBasic.CompilerServices.Conversions:ToDecimal(System.Object,System.Globalization.NumberFormatInfo):System.Decimal
        -112 (-1.99% of base) : 47481.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:InterpretForEachStatementCollection(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,byref,byref,byref,byref,byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this
        -112 (-14.51% of base) : 206832.dasm - System.Security.Cryptography.DSA:ToXmlString(bool):System.String:this
        -108 (-2.75% of base) : 172156.dasm - System.Drawing.ColorTranslator:InitializeHtmlSysColorTable()
        -108 (-1.54% of base) : 187258.dasm - System.Net.HttpListener:HandleAuthentication(System.Net.HttpListenerSession,System.Net.RequestContextBase,byref):System.Net.HttpListenerContext:this
        -108 (-5.68% of base) : 73451.dasm - Microsoft.Cci.MetadataWriter:SerializeAssemblyRefTable(Microsoft.Cci.BlobBuilder,Microsoft.Cci.MetadataSizes):this
        -100 (-1.01% of base) : 202480.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
         -92 (-3.25% of base) : 74161.dasm - Microsoft.Cci.PeWriter:WriteDirectory(Directory,Microsoft.Cci.BlobBuilder,int,int,int,int,Microsoft.Cci.BlobBuilder):this
         -92 (-5.69% of base) : 73491.dasm - Microsoft.Cci.MetadataWriter:SerializeTypeDefTable(Microsoft.Cci.BlobBuilder,Microsoft.Cci.MetadataSizes):this
         -88 (-1.66% of base) : 51432.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberMethodSymbol:BindSingleHandlesClause(Microsoft.CodeAnalysis.VisualBasic.Syntax.HandlesClauseItemSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):Microsoft.CodeAnalysis.VisualBasic.HandledEvent:this
         -84 (-6.00% of base) : 73639.dasm - Microsoft.Cci.MetadataWriter:SerializeLocalScopeTable(Microsoft.Cci.BlobBuilder,Microsoft.Cci.MetadataSizes):this
         -80 (-1.25% of base) : 47746.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindAwait(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.DiagnosticBag,bool):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this
         -80 (-5.46% of base) : 73493.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodDefTable(Microsoft.Cci.BlobBuilder,Microsoft.Cci.MetadataSizes,int):this
         -76 (-1.70% of base) : 127773.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteMember(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.AttributeAccessor,System.Xml.Serialization.TypeDesc,System.String):this

Top method regressions (percentages):
          16 (36.36% of base) : 163511.dasm - System.Diagnostics.Activity:GetTagItem(System.String):System.Object:this
          20 (35.71% of base) : 74982.dasm - Microsoft.CodeAnalysis.DesktopStrongNameProvider:GetStrongNameInterface():Microsoft.CodeAnalysis.Interop.IClrStrongName:this
          16 (25.00% of base) : 230960.dasm - <>c:<GetData>b__17_1(System.Object):System.String:this
          16 (23.53% of base) : 77003.dasm - Microsoft.CodeAnalysis.SyntaxToken:get_Language():System.String:this
          16 (23.53% of base) : 77096.dasm - Microsoft.CodeAnalysis.SyntaxTrivia:get_Language():System.String:this
          16 (22.22% of base) : 116544.dasm - System.Xml.XmlTextReader:LookupNamespace(System.String):System.String:this
          16 (21.05% of base) : 76977.dasm - Microsoft.CodeAnalysis.SyntaxToken:GetAnnotations(System.String):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxAnnotation, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
          16 (21.05% of base) : 76979.dasm - Microsoft.CodeAnalysis.SyntaxToken:GetAnnotations(System.Collections.Generic.IEnumerable`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxAnnotation, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
          16 (21.05% of base) : 117359.dasm - System.Xml.XmlValidatingReader:LookupNamespace(System.String):System.String:this
          16 (20.00% of base) : 76826.dasm - Microsoft.CodeAnalysis.SyntaxNode:Ancestors(bool):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
          16 (19.05% of base) : 16249.dasm - System.Threading.Tasks.Task`1[Byte][System.Byte]:get_DebuggerDisplayMethodDescription():System.String:this
          16 (19.05% of base) : 23453.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:FreezeDeclarationDiagnostics():System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.Diagnostic, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
          16 (18.18% of base) : 164473.dasm - System.Diagnostics.DiagnosticsConfiguration:get_ConfigFilePath():System.String
          16 (18.18% of base) : 158751.dasm - System.Configuration.ConfigurationException:GetXmlNodeFilename(System.Xml.XmlNode):System.String
          16 (16.67% of base) : 135946.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(System.__Canon):System.IDisposable:this
          20 (15.15% of base) : 48004.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:get_ContainingModule():Microsoft.CodeAnalysis.VisualBasic.Symbols.ModuleSymbol:this
           8 (14.29% of base) : 134216.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite:get_ServiceType():System.Type:this
          20 (14.29% of base) : 199873.dasm - System.Reflection.TypeLoading.RoConstructor:ToString():System.String:this
          28 (13.21% of base) : 162530.dasm - System.Data.OleDb.OleDbConnection:get_Provider():System.String:this
          16 (12.12% of base) : 135947.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(ubyte):System.IDisposable:this

Top method improvements (percentages):
         -20 (-29.41% of base) : 216957.dasm - System.Text.Json.JsonEncodedText:get_EncodedUtf8Bytes():System.ReadOnlySpan`1[Byte]:this
         -32 (-25.00% of base) : 194898.dasm - System.Net.Security.SslApplicationProtocol:op_Equality(System.Net.Security.SslApplicationProtocol,System.Net.Security.SslApplicationProtocol):bool
         -32 (-23.53% of base) : 194899.dasm - System.Net.Security.SslApplicationProtocol:op_Inequality(System.Net.Security.SslApplicationProtocol,System.Net.Security.SslApplicationProtocol):bool
         -16 (-23.53% of base) : 209194.dasm - Internal.Cryptography.PkcsHelpers:ToSkiString(System.Byte[]):System.String
         -16 (-23.53% of base) : 212139.dasm - System.Security.Cryptography.Xml.Utils:EncodeHexString(System.Byte[]):System.String
         -16 (-23.53% of base) : 217646.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.ReadOnlySpan`1[Char]):this
         -16 (-23.53% of base) : 217650.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.ReadOnlySpan`1[Byte]):this
         -16 (-23.53% of base) : 217654.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.ReadOnlySpan`1[Char],System.Text.Json.JsonEncodedText):this
         -16 (-23.53% of base) : 217657.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.ReadOnlySpan`1[Byte],System.Text.Json.JsonEncodedText):this
         -52 (-22.03% of base) : 217639.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.Text.Json.JsonEncodedText):this
         -16 (-19.05% of base) : 199795.dasm - System.Reflection.NameFilterCaseSensitive:Matches(System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.MetadataReader):bool:this
         -20 (-17.24% of base) : 194894.dasm - System.Net.Security.SslApplicationProtocol:Equals(System.Net.Security.SslApplicationProtocol):bool:this
         -16 (-16.67% of base) : 211123.dasm - System.Security.Cryptography.X509Certificates.ECDsaX509SignatureGenerator:SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName):System.Byte[]:this
         -16 (-16.67% of base) : 217884.dasm - System.Text.Json.Utf8JsonWriter:WriteStartArray(System.Text.Json.JsonEncodedText):this
         -16 (-16.67% of base) : 217885.dasm - System.Text.Json.Utf8JsonWriter:WriteStartObject(System.Text.Json.JsonEncodedText):this
        -128 (-15.76% of base) : 207248.dasm - System.Security.Cryptography.RSA:ToXmlString(bool):System.String:this
         -20 (-15.62% of base) : 216980.dasm - System.Text.Json.JsonHelpers:GetSpan(byref):System.ReadOnlySpan`1[Byte]
        -128 (-15.61% of base) : 207471.dasm - System.Security.Cryptography.RSAKeyFormatHelper:WritePkcs1PrivateKey(byref):System.Formats.Asn1.AsnWriter
         -16 (-15.38% of base) : 217687.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(System.Text.Json.JsonEncodedText):this
         -16 (-15.38% of base) : 217566.dasm - System.Text.Json.Utf8JsonWriter:WriteStringValue(System.Text.Json.JsonEncodedText):this

10071 total methods with Code Size differences (9593 improved, 478 regressed), 23015 unchanged.



Summary of Perf Score diffs:
(Lower is better)

Total PerfScoreUnits of base: 33830580738783864
Total PerfScoreUnits of diff: 33830580705062888
Total PerfScoreUnits of delta: -33721842.54 (-0.00% of base)
    diff is an improvement.
Detail diffs


Top file regressions (PerfScoreUnits):
       60.10 : 141301.dasm (3.20% of base)
       51.35 : 190534.dasm (3.14% of base)
       42.20 : 132661.dasm (1.28% of base)
       19.45 : 172426.dasm (0.56% of base)
       16.40 : 117148.dasm (0.23% of base)
       12.20 : 116878.dasm (3.11% of base)
        9.40 : 23832.dasm (2.49% of base)
        8.40 : 215676.dasm (1.30% of base)
        8.40 : 40560.dasm (0.74% of base)
        7.05 : 162530.dasm (13.77% of base)
        6.25 : 78906.dasm (9.96% of base)
        6.20 : 54862.dasm (3.12% of base)
        6.20 : 54876.dasm (3.11% of base)
        6.20 : 54891.dasm (3.12% of base)
        6.20 : 54905.dasm (3.11% of base)
        6.00 : 204901.dasm (0.29% of base)
        6.00 : 80805.dasm (2.38% of base)
        5.75 : 71101.dasm (3.20% of base)
        5.75 : 74982.dasm (31.34% of base)
        5.75 : 199873.dasm (10.50% of base)

Top file improvements (PerfScoreUnits):
    -33652820.00 : 51429.dasm (-0.00% of base)
    -23902.00 : 47425.dasm (-0.05% of base)
    -20480.80 : 127509.dasm (-0.21% of base)
    -1651.20 : 127770.dasm (-0.42% of base)
    -1095.00 : 161035.dasm (-0.79% of base)
    -1095.00 : 163006.dasm (-0.79% of base)
    -1026.20 : 21282.dasm (-0.15% of base)
     -772.50 : 174127.dasm (-3.54% of base)
     -530.10 : 194385.dasm (-0.44% of base)
     -473.90 : 140492.dasm (-7.36% of base)
     -280.55 : 47892.dasm (-0.17% of base)
     -259.70 : 174005.dasm (-3.46% of base)
     -259.50 : 214859.dasm (-0.85% of base)
     -193.70 : 47760.dasm (-0.24% of base)
     -189.20 : 47750.dasm (-0.29% of base)
     -136.80 : 53074.dasm (-0.30% of base)
     -136.15 : 127499.dasm (-0.04% of base)
     -130.20 : 127408.dasm (-0.19% of base)
     -128.80 : 155300.dasm (-0.77% of base)
      -92.60 : 169131.dasm (-0.37% of base)

10157 total files with Perf Score differences (9634 improved, 523 regressed), 22929 unchanged.

Top method regressions (PerfScoreUnits):
       60.10 ( 3.20% of base) : 141301.dasm - Newtonsoft.Json.Serialization.JsonSerializerInternalReader:PopulateDictionary(System.Collections.IDictionary,Newtonsoft.Json.JsonReader,Newtonsoft.Json.Serialization.JsonDictionaryContract,Newtonsoft.Json.Serialization.JsonProperty,System.String):System.Object:this
       51.35 ( 3.14% of base) : 190534.dasm - System.Net.Http.HPack.Huffman:Decode(System.ReadOnlySpan`1[Byte],byref):int
       42.20 ( 1.28% of base) : 132661.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
       19.45 ( 0.56% of base) : 172426.dasm - System.Formats.Asn1.AsnWriter:WriteGeneralizedTimeCore(System.Formats.Asn1.Asn1Tag,System.DateTimeOffset,bool):this
       16.40 ( 0.23% of base) : 117148.dasm - <ParseAttributesAsync>d__531:MoveNext():this
       12.20 ( 3.11% of base) : 116878.dasm - System.Xml.XmlTextReaderImpl:DetectEncoding():System.Text.Encoding:this
        9.40 ( 2.49% of base) : 23832.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetDeclarationName(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode):System.String:this
        8.40 ( 1.30% of base) : 215676.dasm - PhoneMapData:InitializePrefix(bool):System.Collections.Hashtable:this
        8.40 ( 0.74% of base) : 40560.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ReportNameCollisionDiagnosticsForAddedModules(Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol,Microsoft.CodeAnalysis.DiagnosticBag):this
        7.05 (13.77% of base) : 162530.dasm - System.Data.OleDb.OleDbConnection:get_Provider():System.String:this
        6.25 ( 9.96% of base) : 78906.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:MarkReachableFromBranch(Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],BasicBlock)
        6.20 ( 3.12% of base) : 54862.dasm - Microsoft.CodeAnalysis.VisualBasic.MethodToClassRewriter`1[__Canon][System.__Canon]:SubstituteMethodForMyBaseOrMyClassCall(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol):Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol:this
        6.20 ( 3.11% of base) : 54876.dasm - Microsoft.CodeAnalysis.VisualBasic.MethodToClassRewriter`1[__Canon][System.__Canon]:VisitMethodSymbol(Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol):Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol:this
        6.20 ( 3.12% of base) : 54891.dasm - Microsoft.CodeAnalysis.VisualBasic.MethodToClassRewriter`1[Byte][System.Byte]:SubstituteMethodForMyBaseOrMyClassCall(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol):Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol:this
        6.20 ( 3.11% of base) : 54905.dasm - Microsoft.CodeAnalysis.VisualBasic.MethodToClassRewriter`1[Byte][System.Byte]:VisitMethodSymbol(Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol):Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol:this
        6.00 ( 0.29% of base) : 204901.dasm - System.Numerics.BigIntegerCalculator:Gcd(byref,byref)
        6.00 ( 2.38% of base) : 80805.dasm - <GetTopLevelTypes>d__8:MoveNext():bool:this
        5.75 ( 3.20% of base) : 71101.dasm - ComClassData:.ctor(Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData):this
        5.75 (31.34% of base) : 74982.dasm - Microsoft.CodeAnalysis.DesktopStrongNameProvider:GetStrongNameInterface():Microsoft.CodeAnalysis.Interop.IClrStrongName:this
        5.75 (10.50% of base) : 199873.dasm - System.Reflection.TypeLoading.RoConstructor:ToString():System.String:this

Top method improvements (PerfScoreUnits):
    -33652820.00 (-0.00% of base) : 51429.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag)
    -23902.00 (-0.05% of base) : 47425.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:DecodeParameterList(Microsoft.CodeAnalysis.VisualBasic.Symbol,bool,int,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.ParameterSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],CheckParameterModifierDelegate,Microsoft.CodeAnalysis.DiagnosticBag):this
    -20480.80 (-0.21% of base) : 127509.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteEnumAndArrayTypes():this
    -1651.20 (-0.42% of base) : 127770.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteEnumAndArrayTypes():this
    -1095.00 (-0.79% of base) : 161035.dasm - System.Data.Common.MultipartIdentifier:ParseMultipartIdentifier(System.String,System.String,System.String,ushort,int,bool,System.String,bool):System.String[]
    -1095.00 (-0.79% of base) : 163006.dasm - System.Data.Common.MultipartIdentifier:ParseMultipartIdentifier(System.String,System.String,System.String,ushort,int,bool,System.String,bool):System.String[]
    -1026.20 (-0.15% of base) : 21282.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindInterpolatedString(Microsoft.CodeAnalysis.CSharp.Syntax.InterpolatedStringExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this
     -772.50 (-3.54% of base) : 174127.dasm - System.IO.FileSystem:RemoveDirectoryRecursive(System.String,byref,bool)
     -530.10 (-0.44% of base) : 194385.dasm - System.Net.TimerThread:ThreadProc()
     -473.90 (-7.36% of base) : 140492.dasm - Newtonsoft.Json.Utilities.ConvertUtils:DecimalTryParse(System.Char[],int,int,byref):int
     -280.55 (-0.17% of base) : 47892.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindAttribute(Microsoft.CodeAnalysis.VisualBasic.Syntax.AttributeSyntax,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundAttribute:this
     -259.70 (-3.46% of base) : 174005.dasm - <InternalReadAllTextAsync>d__68:MoveNext():this
     -259.50 (-0.85% of base) : 214859.dasm - System.Speech.Internal.Synthesis.SsmlParser:ParsePhoneme(System.Xml.XmlReader,System.Speech.Internal.Synthesis.ISsmlParser,int,SsmlAttributes,bool)
     -193.70 (-0.24% of base) : 47760.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindInterpolatedStringExpression(Microsoft.CodeAnalysis.VisualBasic.Syntax.InterpolatedStringExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this
     -189.20 (-0.29% of base) : 47750.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindFieldAndPropertyInitializers(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,System.Collections.Immutable.ImmutableArray`1[ImmutableArray`1],Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedInteractiveInitializerMethod,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.BoundInitializer, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]
     -136.80 (-0.30% of base) : 53074.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCommandLineParser:Parse(System.Collections.Generic.IEnumerable`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.String,System.String,System.String):Microsoft.CodeAnalysis.VisualBasic.VisualBasicCommandLineArguments:this
     -136.15 (-0.04% of base) : 127499.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this
     -130.20 (-0.19% of base) : 127408.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this
     -128.80 (-0.77% of base) : 155300.dasm - DependenciesTraversal:TryTraverse(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,byref):bool:this
      -92.60 (-0.37% of base) : 169131.dasm - System.DirectoryServices.ActiveDirectory.Utils:GetReplicaList(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.String,bool,bool,bool):System.Collections.ArrayList

Top method regressions (percentages):
        5.35 (37.15% of base) : 163511.dasm - System.Diagnostics.Activity:GetTagItem(System.String):System.Object:this
        5.35 (32.62% of base) : 230960.dasm - <>c:<GetData>b__17_1(System.Object):System.String:this
        5.75 (31.34% of base) : 74982.dasm - Microsoft.CodeAnalysis.DesktopStrongNameProvider:GetStrongNameInterface():Microsoft.CodeAnalysis.Interop.IClrStrongName:this
        5.35 (25.36% of base) : 76977.dasm - Microsoft.CodeAnalysis.SyntaxToken:GetAnnotations(System.String):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxAnnotation, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
        5.35 (25.36% of base) : 76979.dasm - Microsoft.CodeAnalysis.SyntaxToken:GetAnnotations(System.Collections.Generic.IEnumerable`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxAnnotation, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
        5.35 (24.60% of base) : 76826.dasm - Microsoft.CodeAnalysis.SyntaxNode:Ancestors(bool):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
        5.35 (23.21% of base) : 158751.dasm - System.Configuration.ConfigurationException:GetXmlNodeFilename(System.Xml.XmlNode):System.String
        5.35 (22.96% of base) : 77003.dasm - Microsoft.CodeAnalysis.SyntaxToken:get_Language():System.String:this
        5.35 (22.96% of base) : 77096.dasm - Microsoft.CodeAnalysis.SyntaxTrivia:get_Language():System.String:this
        5.35 (22.86% of base) : 23453.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:FreezeDeclarationDiagnostics():System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.Diagnostic, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
        5.35 (21.36% of base) : 164473.dasm - System.Diagnostics.DiagnosticsConfiguration:get_ConfigFilePath():System.String
        5.35 (20.90% of base) : 135946.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(System.__Canon):System.IDisposable:this
        5.35 (18.97% of base) : 116544.dasm - System.Xml.XmlTextReader:LookupNamespace(System.String):System.String:this
        5.35 (17.89% of base) : 16249.dasm - System.Threading.Tasks.Task`1[Byte][System.Byte]:get_DebuggerDisplayMethodDescription():System.String:this
        5.35 (16.93% of base) : 117359.dasm - System.Xml.XmlValidatingReader:LookupNamespace(System.String):System.String:this
        5.35 (15.88% of base) : 135947.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(ubyte):System.IDisposable:this
        5.35 (15.88% of base) : 135948.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(short):System.IDisposable:this
        5.35 (15.88% of base) : 135949.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(int):System.IDisposable:this
        5.35 (15.88% of base) : 135952.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(long):System.IDisposable:this
        7.05 (13.77% of base) : 162530.dasm - System.Data.OleDb.OleDbConnection:get_Provider():System.String:this

Top method improvements (percentages):
       -5.00 (-25.58% of base) : 216957.dasm - System.Text.Json.JsonEncodedText:get_EncodedUtf8Bytes():System.ReadOnlySpan`1[Byte]:this
       -4.10 (-24.05% of base) : 209194.dasm - Internal.Cryptography.PkcsHelpers:ToSkiString(System.Byte[]):System.String
       -4.10 (-24.05% of base) : 212139.dasm - System.Security.Cryptography.Xml.Utils:EncodeHexString(System.Byte[]):System.String
       -4.10 (-23.36% of base) : 217646.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.ReadOnlySpan`1[Char]):this
       -4.10 (-23.36% of base) : 217650.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.ReadOnlySpan`1[Byte]):this
       -4.10 (-23.36% of base) : 217654.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.ReadOnlySpan`1[Char],System.Text.Json.JsonEncodedText):this
       -4.10 (-23.36% of base) : 217657.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.ReadOnlySpan`1[Byte],System.Text.Json.JsonEncodedText):this
       -2.90 (-20.86% of base) : 210004.dasm - System.Security.Cryptography.Pkcs.Pkcs12SafeContents:Decrypt(System.ReadOnlySpan`1[Byte]):this
      -11.20 (-18.41% of base) : 217639.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.Text.Json.JsonEncodedText):this
       -4.70 (-17.70% of base) : 194898.dasm - System.Net.Security.SslApplicationProtocol:op_Equality(System.Net.Security.SslApplicationProtocol,System.Net.Security.SslApplicationProtocol):bool
       -4.10 (-17.34% of base) : 199795.dasm - System.Reflection.NameFilterCaseSensitive:Matches(System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.MetadataReader):bool:this
       -4.70 (-16.58% of base) : 194899.dasm - System.Net.Security.SslApplicationProtocol:op_Inequality(System.Net.Security.SslApplicationProtocol,System.Net.Security.SslApplicationProtocol):bool
       -4.20 (-16.22% of base) : 158503.dasm - System.Configuration.ClientConfigurationHost:get_HasRoamingConfig():bool:this
       -4.20 (-16.22% of base) : 158504.dasm - System.Configuration.ClientConfigurationHost:get_HasLocalConfig():bool:this
       -4.10 (-15.56% of base) : 217884.dasm - System.Text.Json.Utf8JsonWriter:WriteStartArray(System.Text.Json.JsonEncodedText):this
       -4.10 (-15.56% of base) : 217885.dasm - System.Text.Json.Utf8JsonWriter:WriteStartObject(System.Text.Json.JsonEncodedText):this
       -4.10 (-14.07% of base) : 211477.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:EncodeExtension(System.String):System.Byte[]
       -4.10 (-14.07% of base) : 211478.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:EncodeExtension(System.Security.Cryptography.X509Certificates.PublicKey,int):System.Byte[]
      -32.82 (-13.94% of base) : 207471.dasm - System.Security.Cryptography.RSAKeyFormatHelper:WritePkcs1PrivateKey(byref):System.Formats.Asn1.AsnWriter
       -3.75 (-13.35% of base) : 194894.dasm - System.Net.Security.SslApplicationProtocol:Equals(System.Net.Security.SslApplicationProtocol):bool:this

10157 total methods with Perf Score differences (9634 improved, 523 regressed), 22929 unchanged.


Windows Arm64 (benchmarks_run)


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 3851332
Total bytes of diff: 3841848
Total bytes of delta: -9484 (-0.25% of base)
    diff is an improvement.
Detail diffs


Top file regressions (bytes):
          40 : 11078.dasm (16.39% of base)
          36 : 19279.dasm (2.09% of base)
          32 : 2254.dasm (1.10% of base)
          32 : 240.dasm (3.72% of base)
          32 : 12831.dasm (1.64% of base)
          32 : 20403.dasm (3.36% of base)
          28 : 8456.dasm (0.77% of base)
          24 : 756.dasm (13.04% of base)
          20 : 17764.dasm (9.09% of base)
          20 : 18043.dasm (1.02% of base)
          16 : 15412.dasm (2.08% of base)
          16 : 20010.dasm (0.98% of base)
          16 : 2261.dasm (12.12% of base)
          16 : 20383.dasm (2.84% of base)
          16 : 13929.dasm (2.33% of base)
          16 : 20404.dasm (3.03% of base)
          16 : 16245.dasm (23.53% of base)
          12 : 17700.dasm (5.17% of base)
          12 : 7356.dasm (1.80% of base)
          12 : 16354.dasm (3.95% of base)

Top file improvements (bytes):
        -220 : 11881.dasm (-7.31% of base)
        -140 : 1166.dasm (-1.16% of base)
        -100 : 10571.dasm (-1.01% of base)
         -72 : 18725.dasm (-0.71% of base)
         -72 : 3322.dasm (-1.21% of base)
         -68 : 12839.dasm (-3.50% of base)
         -64 : 8426.dasm (-2.28% of base)
         -64 : 7664.dasm (-1.64% of base)
         -56 : 12592.dasm (-2.09% of base)
         -56 : 14216.dasm (-0.97% of base)
         -56 : 7637.dasm (-0.72% of base)
         -56 : 5530.dasm (-1.83% of base)
         -52 : 20919.dasm (-1.18% of base)
         -48 : 14222.dasm (-0.88% of base)
         -44 : 14233.dasm (-3.20% of base)
         -44 : 14228.dasm (-2.56% of base)
         -44 : 2045.dasm (-0.36% of base)
         -40 : 3757.dasm (-2.48% of base)
         -40 : 13258.dasm (-2.62% of base)
         -40 : 7648.dasm (-1.51% of base)

1719 total files with Code Size differences (1556 improved, 163 regressed), 3979 unchanged.

Top method regressions (bytes):
          40 (16.39% of base) : 11078.dasm - ProtoBuf.Meta.TypeModel:ResolveKnownType(System.String,ProtoBuf.Meta.TypeModel,System.Reflection.Assembly):System.Type
          36 ( 2.09% of base) : 19279.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetDeclarationName(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode):System.String:this
          32 ( 1.10% of base) : 2254.dasm - System.Uri:GetUriPartsFromUserString(int):System.String:this
          32 ( 3.72% of base) : 240.dasm - System.Globalization.CultureData:InitIcuCultureDataCore():bool:this
          32 ( 1.64% of base) : 12831.dasm - DynamicClass:Regex1_Go(System.Text.RegularExpressions.RegexRunner)
          32 ( 3.36% of base) : 20403.dasm - DynamicClass:Regex12_Go(System.Text.RegularExpressions.RegexRunner)
          28 ( 0.77% of base) : 8456.dasm - <ReceiveBlobAsync>d__172`1[SyncReadWriteAdapter][System.Net.Security.SyncReadWriteAdapter]:MoveNext():this
          24 (13.04% of base) : 756.dasm - DefaultCharacteristicPresenter:ToPresentation(System.Object):System.String
          20 ( 9.09% of base) : 17764.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:MarkReachableFromBranch(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[[Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],BasicBlock)
          20 ( 1.02% of base) : 18043.dasm - <Microsoft-Cci-ITypeDefinition-GetExplicitImplementationOverrides>d__31:MoveNext():bool:this
          16 ( 2.08% of base) : 15412.dasm - DynamicClass:Regex6_Go(System.Text.RegularExpressions.RegexRunner)
          16 ( 0.98% of base) : 20010.dasm - Newtonsoft.Json.Serialization.JsonSerializerInternalReader:PopulateDictionary(System.Collections.IDictionary,Newtonsoft.Json.JsonReader,Newtonsoft.Json.Serialization.JsonDictionaryContract,Newtonsoft.Json.Serialization.JsonProperty,System.String):System.Object:this
          16 (12.12% of base) : 2261.dasm - System.Uri:Compress(System.Char[],int,byref,System.UriParser)
          16 ( 2.84% of base) : 20383.dasm - DynamicClass:Regex2_Go(System.Text.RegularExpressions.RegexRunner)
          16 ( 2.33% of base) : 13929.dasm - System.DateTimeParse:DTFITrace(System.Globalization.DateTimeFormatInfo)
          16 ( 3.03% of base) : 20404.dasm - DynamicClass:Regex13_Go(System.Text.RegularExpressions.RegexRunner)
          16 (23.53% of base) : 16245.dasm - Microsoft.CodeAnalysis.SyntaxToken:get_Language():System.String:this
          12 ( 5.17% of base) : 17700.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:EmitSequencePointStatement(Microsoft.CodeAnalysis.CSharp.BoundSequencePointWithSpan):this
          12 ( 1.80% of base) : 7356.dasm - System.String:JoinCore(System.ReadOnlySpan`1[Char],System.Object[]):System.String
          12 ( 3.95% of base) : 16354.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[__Canon,__Canon][System.__Canon,System.__Canon]:GetResolvedReferenceAndFreePropertyMapEntry(Microsoft.CodeAnalysis.MetadataReference,int,ubyte,System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.MetadataReference, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.MergedAliases, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):ResolvedReference[__Canon,__Canon]

Top method improvements (bytes):
        -220 (-7.31% of base) : 11881.dasm - Jil.Serialize.Methods:_WriteEncodedStringWithQuotesWithNullsInlineUnsafe_ThunkWriter(byref,System.String)
        -140 (-1.16% of base) : 1166.dasm - Product:CreateLists()
        -100 (-1.01% of base) : 10571.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
         -72 (-0.71% of base) : 18725.dasm - Utf8Json.Formatters.MicroBenchmarks_Serializers_MyEventsListerItemFormatter2:Serialize(byref,MicroBenchmarks.Serializers.MyEventsListerItem,Utf8Json.IJsonFormatterResolver):this
         -72 (-1.21% of base) : 3322.dasm - Utf8Json.Formatters.MicroBenchmarks_Serializers_LocationFormatter1:Serialize(byref,MicroBenchmarks.Serializers.Location,Utf8Json.IJsonFormatterResolver):this
         -68 (-3.50% of base) : 12839.dasm - Utf8Json.Formatters.MicroBenchmarks_Serializers_LocationFormatter1:Deserialize(byref,Utf8Json.IJsonFormatterResolver):MicroBenchmarks.Serializers.Location:this
         -64 (-2.28% of base) : 8426.dasm - System.Net.Security.SafeDeleteContext:InitializeSecurityContext(byref,byref,System.String,int,int,System.Net.Security.InputSecurityBuffers,byref,byref):int
         -64 (-1.64% of base) : 7664.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WritePrimitive(System.Xml.Serialization.TypeMapping,System.String):this
         -56 (-2.09% of base) : 12592.dasm - System.Net.Security.SafeDeleteContext:AcceptSecurityContext(byref,byref,int,int,System.Net.Security.InputSecurityBuffers,byref,byref):int
         -56 (-0.97% of base) : 14216.dasm - Utf8Json.Formatters.MicroBenchmarks_Serializers_ActiveOrUpcomingEventFormatter2:Serialize(byref,MicroBenchmarks.Serializers.ActiveOrUpcomingEvent,Utf8Json.IJsonFormatterResolver):this
         -56 (-0.72% of base) : 7637.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this
         -56 (-1.83% of base) : 5530.dasm - Number:ParseNumber(byref,long,int,byref,System.Text.StringBuilder,System.Globalization.NumberFormatInfo,bool):bool
         -52 (-1.18% of base) : 20919.dasm - System.Diagnostics.Process:StartWithCreateProcess(System.Diagnostics.ProcessStartInfo):bool:this
         -48 (-0.88% of base) : 14222.dasm - Utf8Json.Formatters.MicroBenchmarks_Serializers_CampaignSummaryViewModelFormatter3:Serialize(byref,MicroBenchmarks.Serializers.CampaignSummaryViewModel,Utf8Json.IJsonFormatterResolver):this
         -44 (-3.20% of base) : 14233.dasm - Utf8Json.Formatters.MicroBenchmarks_Serializers_CampaignSummaryViewModelFormatter3:Deserialize(byref,Utf8Json.IJsonFormatterResolver):MicroBenchmarks.Serializers.CampaignSummaryViewModel:this
         -44 (-2.56% of base) : 14228.dasm - Utf8Json.Formatters.MicroBenchmarks_Serializers_ActiveOrUpcomingEventFormatter2:Deserialize(byref,Utf8Json.IJsonFormatterResolver):MicroBenchmarks.Serializers.ActiveOrUpcomingEvent:this
         -44 (-0.36% of base) : 2045.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this
         -40 (-2.48% of base) : 3757.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteSourceBegin(System.String):this
         -40 (-2.62% of base) : 13258.dasm - JetStream.Statistics:findOptimalSegmentationInternal(System.Single[][],System.Int32[][],System.Double[],JetStream.SampleVarianceUpperTriangularMatrix,int)
         -40 (-1.51% of base) : 7648.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberBegin(System.Xml.Serialization.XmlSerializationReaderILGen+Member[]):this

Top method regressions (percentages):
          16 (23.53% of base) : 16245.dasm - Microsoft.CodeAnalysis.SyntaxToken:get_Language():System.String:this
          40 (16.39% of base) : 11078.dasm - ProtoBuf.Meta.TypeModel:ResolveKnownType(System.String,ProtoBuf.Meta.TypeModel,System.Reflection.Assembly):System.Type
          24 (13.04% of base) : 756.dasm - DefaultCharacteristicPresenter:ToPresentation(System.Object):System.String
          16 (12.12% of base) : 2261.dasm - System.Uri:Compress(System.Char[],int,byref,System.UriParser)
           8 (10.00% of base) : 6577.dasm - System.Runtime.Serialization.Formatters.Binary.NameInfo:get_NIname():System.String:this
          20 ( 9.09% of base) : 17764.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:MarkReachableFromBranch(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[[Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],BasicBlock)
           4 ( 8.33% of base) : 11685.dasm - System.Text.Json.Serialization.Converters.ByteArrayConverter:Write(System.Text.Json.Utf8JsonWriter,System.Byte[],System.Text.Json.JsonSerializerOptions):this
           4 ( 6.67% of base) : 15197.dasm - Span.IndexerBench:Indexer6():ubyte:this
          12 ( 6.25% of base) : 17328.dasm - Microsoft.CodeAnalysis.CSharp.MethodCompiler:WaitForWorkers():this
           4 ( 6.25% of base) : 10752.dasm - System.Tests.Perf_String:Split(System.String,System.Char[],int):System.String[]:this
          12 ( 6.12% of base) : 17298.dasm - Microsoft.CodeAnalysis.CSharp.ClsComplianceChecker:WaitForWorkers():this
           8 ( 5.71% of base) : 24126.dasm - System.Collections.Tests.Add_Remove_SteadyState`1[Int32][System.Int32]:ConcurrentBag():this
           8 ( 5.71% of base) : 12957.dasm - System.Collections.Tests.Add_Remove_SteadyState`1[__Canon][System.__Canon]:ConcurrentBag():this
           4 ( 5.56% of base) : 17672.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeRewriter:VisitStatementList(Microsoft.CodeAnalysis.CSharp.BoundStatementList):Microsoft.CodeAnalysis.CSharp.BoundNode:this
           4 ( 5.26% of base) : 21724.dasm - System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests:Base64EncodeInPlace():int:this
          12 ( 5.17% of base) : 17700.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:EmitSequencePointStatement(Microsoft.CodeAnalysis.CSharp.BoundSequencePointWithSpan):this
           4 ( 5.00% of base) : 5341.dasm - System.Threading.Tasks.Task:get_CapturedContext():System.Threading.ExecutionContext:this
           4 ( 5.00% of base) : 17675.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeRewriter:VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock):Microsoft.CodeAnalysis.CSharp.BoundNode:this
           4 ( 4.76% of base) : 20301.dasm - System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals:FixedTimeEquals_256Bit_SameReference():bool:this
           4 ( 4.76% of base) : 14021.dasm - System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals:FixedTimeEquals_256Bit_Equal():bool:this

Top method improvements (percentages):
          -8 (-14.29% of base) : 13887.dasm - System.Memory.Constructors`1[Byte][System.Byte]:SpanImplicitCastFromArray():System.Span`1[Byte]:this
          -8 (-14.29% of base) : 21275.dasm - System.Memory.Constructors`1[Byte][System.Byte]:ArrayAsSpan():System.Span`1[Byte]:this
          -8 (-14.29% of base) : 14458.dasm - System.Memory.Constructors`1[Byte][System.Byte]:ReadOnlySpanImplicitCastFromArray():System.ReadOnlySpan`1[Byte]:this
          -8 (-14.29% of base) : 915.dasm - System.Diagnostics.Tracing.EventSource:get_ProviderMetadata():System.ReadOnlySpan`1[Byte]:this
          -8 (-11.76% of base) : 118.dasm - System.Text.Encoding:get_Preamble():System.ReadOnlySpan`1[Byte]:this
          -8 (-10.53% of base) : 20253.dasm - System.Memory.Constructors`1[Byte][System.Byte]:ReadOnlyMemoryFromArray():System.ReadOnlyMemory`1[Byte]:this
          -8 (-10.53% of base) : 12535.dasm - System.Memory.Constructors`1[__Canon][System.__Canon]:ReadOnlyMemoryFromArray():System.ReadOnlyMemory`1[__Canon]:this
          -8 (-10.53% of base) : 19845.dasm - System.Memory.Constructors`1[Byte][System.Byte]:MemoryFromArray():System.Memory`1[Byte]:this
          -4 (-9.09% of base) : 269.dasm - System.Globalization.CultureData:GetLocaleInfoExInt(System.String,int):int
          -8 (-8.00% of base) : 12574.dasm - Internal.Cryptography.Pal.CertificatePal:get_HasPrivateKey():bool:this
          -8 (-8.00% of base) : 19852.dasm - System.Memory.Span`1[Byte][System.Byte]:Clear():this
          -4 (-7.69% of base) : 3361.dasm - System.Xml.XmlStreamNodeWriter:WriteUTF8Chars(System.String):this
          -4 (-7.69% of base) : 3398.dasm - System.Xml.XmlUTF8NodeWriter:WriteEscapedText(System.String):this
          -8 (-7.41% of base) : 2295.dasm - System.Runtime.Serialization.DataContract:IsValidNCName(System.String):bool
          -8 (-7.41% of base) : 15116.dasm - Newtonsoft.Json.Utilities.ConvertUtils:TryConvert(System.Object,System.Globalization.CultureInfo,System.Type,byref):bool
        -220 (-7.31% of base) : 11881.dasm - Jil.Serialize.Methods:_WriteEncodedStringWithQuotesWithNullsInlineUnsafe_ThunkWriter(byref,System.String)
          -4 (-7.14% of base) : 20095.dasm - Span.IndexerBench:WriteViaIndexer1():ubyte:this
          -4 (-7.14% of base) : 20835.dasm - Span.IndexerBench:KnownSizeArray():ubyte:this
          -4 (-7.14% of base) : 12881.dasm - Span.IndexerBench:Indexer1():ubyte:this
          -4 (-7.14% of base) : 18841.dasm - Span.IndexerBench:ReadOnlyIndexer1():ubyte:this

1719 total methods with Code Size differences (1556 improved, 163 regressed), 3979 unchanged.



Summary of Perf Score diffs:
(Lower is better)

Total PerfScoreUnits of base: 936981661.56
Total PerfScoreUnits of diff: 936978864.9100002
Total PerfScoreUnits of delta: -2796.65 (-0.00% of base)
    diff is an improvement.
Detail diffs


Top file regressions (PerfScoreUnits):
       60.10 : 20010.dasm (3.20% of base)
       12.00 : 11078.dasm (14.39% of base)
        8.20 : 240.dasm (4.00% of base)
        7.70 : 20403.dasm (3.67% of base)
        7.30 : 8456.dasm (0.57% of base)
        6.65 : 756.dasm (14.18% of base)
        6.25 : 17764.dasm (9.96% of base)
        6.00 : 13490.dasm (0.29% of base)
        6.00 : 11410.dasm (4.44% of base)
        5.85 : 19279.dasm (1.52% of base)
        5.70 : 12831.dasm (0.53% of base)
        5.70 : 9155.dasm (0.30% of base)
        5.35 : 16245.dasm (22.96% of base)
        5.20 : 2254.dasm (0.64% of base)
        5.10 : 20404.dasm (4.25% of base)
        5.10 : 15412.dasm (2.99% of base)
        5.10 : 20383.dasm (4.01% of base)
        4.70 : 16354.dasm (5.74% of base)
        4.45 : 17700.dasm (6.21% of base)
        4.40 : 9009.dasm (0.29% of base)

Top file improvements (PerfScoreUnits):
     -116.00 : 13258.dasm (-0.91% of base)
      -91.65 : 13268.dasm (-0.00% of base)
      -91.65 : 21679.dasm (-0.00% of base)
      -83.05 : 3237.dasm (-0.00% of base)
      -76.25 : 11881.dasm (-2.83% of base)
      -34.80 : 17731.dasm (-0.36% of base)
      -34.80 : 4486.dasm (-0.37% of base)
      -34.80 : 17282.dasm (-0.36% of base)
      -34.80 : 19418.dasm (-0.38% of base)
      -34.80 : 710.dasm (-0.37% of base)
      -34.80 : 4051.dasm (-0.32% of base)
      -32.80 : 16414.dasm (-0.07% of base)
      -31.50 : 1166.dasm (-0.73% of base)
      -28.65 : 14421.dasm (-2.86% of base)
      -22.50 : 10571.dasm (-0.61% of base)
      -18.40 : 1623.dasm (-0.09% of base)
      -17.60 : 5530.dasm (-1.09% of base)
      -16.80 : 8811.dasm (-0.17% of base)
      -16.80 : 9505.dasm (-0.50% of base)
      -16.40 : 16413.dasm (-0.11% of base)

1749 total files with Perf Score differences (1564 improved, 185 regressed), 3949 unchanged.

Top method regressions (PerfScoreUnits):
       60.10 ( 3.20% of base) : 20010.dasm - Newtonsoft.Json.Serialization.JsonSerializerInternalReader:PopulateDictionary(System.Collections.IDictionary,Newtonsoft.Json.JsonReader,Newtonsoft.Json.Serialization.JsonDictionaryContract,Newtonsoft.Json.Serialization.JsonProperty,System.String):System.Object:this
       12.00 (14.39% of base) : 11078.dasm - ProtoBuf.Meta.TypeModel:ResolveKnownType(System.String,ProtoBuf.Meta.TypeModel,System.Reflection.Assembly):System.Type
        8.20 ( 4.00% of base) : 240.dasm - System.Globalization.CultureData:InitIcuCultureDataCore():bool:this
        7.70 ( 3.67% of base) : 20403.dasm - DynamicClass:Regex12_Go(System.Text.RegularExpressions.RegexRunner)
        7.30 ( 0.57% of base) : 8456.dasm - <ReceiveBlobAsync>d__172`1[SyncReadWriteAdapter][System.Net.Security.SyncReadWriteAdapter]:MoveNext():this
        6.65 (14.18% of base) : 756.dasm - DefaultCharacteristicPresenter:ToPresentation(System.Object):System.String
        6.25 ( 9.96% of base) : 17764.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:MarkReachableFromBranch(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[[Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],BasicBlock)
        6.00 ( 0.29% of base) : 13490.dasm - System.Numerics.BigIntegerCalculator:Gcd(byref,byref)
        6.00 ( 4.44% of base) : 11410.dasm - <>c__DisplayClass7_0[__Canon][System.__Canon]:<SetupConcurrentStackIteration>b__1():this
        5.85 ( 1.52% of base) : 19279.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetDeclarationName(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode):System.String:this
        5.70 ( 0.53% of base) : 12831.dasm - DynamicClass:Regex1_Go(System.Text.RegularExpressions.RegexRunner)
        5.70 ( 0.30% of base) : 9155.dasm - Newtonsoft.Json.Serialization.JsonSerializerInternalReader:PopulateObject(System.Object,Newtonsoft.Json.JsonReader,Newtonsoft.Json.Serialization.JsonObjectContract,Newtonsoft.Json.Serialization.JsonProperty,System.String):System.Object:this
        5.35 (22.96% of base) : 16245.dasm - Microsoft.CodeAnalysis.SyntaxToken:get_Language():System.String:this
        5.20 ( 0.64% of base) : 2254.dasm - System.Uri:GetUriPartsFromUserString(int):System.String:this
        5.10 ( 4.25% of base) : 20404.dasm - DynamicClass:Regex13_Go(System.Text.RegularExpressions.RegexRunner)
        5.10 ( 2.99% of base) : 15412.dasm - DynamicClass:Regex6_Go(System.Text.RegularExpressions.RegexRunner)
        5.10 ( 4.01% of base) : 20383.dasm - DynamicClass:Regex2_Go(System.Text.RegularExpressions.RegexRunner)
        4.70 ( 5.74% of base) : 16354.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[__Canon,__Canon][System.__Canon,System.__Canon]:GetResolvedReferenceAndFreePropertyMapEntry(Microsoft.CodeAnalysis.MetadataReference,int,ubyte,System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.MetadataReference, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.MergedAliases, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):ResolvedReference[__Canon,__Canon]
        4.45 ( 6.21% of base) : 17700.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:EmitSequencePointStatement(Microsoft.CodeAnalysis.CSharp.BoundSequencePointWithSpan):this
        4.40 ( 0.29% of base) : 9009.dasm - Newtonsoft.Json.Utilities.ReflectionUtils:GetChildPrivateProperties(System.Collections.Generic.IList`1[[System.Reflection.PropertyInfo, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Type,int)

Top method improvements (PerfScoreUnits):
     -116.00 (-0.91% of base) : 13258.dasm - JetStream.Statistics:findOptimalSegmentationInternal(System.Single[][],System.Int32[][],System.Double[],JetStream.SampleVarianceUpperTriangularMatrix,int)
      -91.65 (-0.00% of base) : 13268.dasm - DynamicClass:_DynamicMethod1(byref,int):MicroBenchmarks.Serializers.IndexViewModel
      -91.65 (-0.00% of base) : 21679.dasm - DynamicClass:_DynamicMethod1(System.IO.TextReader,int):MicroBenchmarks.Serializers.IndexViewModel
      -83.05 (-0.00% of base) : 3237.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildSerialize(System.Type,Utf8Json.Internal.Emit.MetaType,System.Reflection.Emit.ILGenerator,System.Action,System.Func`3[[System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Utf8Json.Internal.Emit.MetaMember, Utf8Json, Version=1.3.7.0, Culture=neutral, PublicKeyToken=8a73d3ba7e392e27],[System.Boolean, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],bool,bool,int)
      -76.25 (-2.83% of base) : 11881.dasm - Jil.Serialize.Methods:_WriteEncodedStringWithQuotesWithNullsInlineUnsafe_ThunkWriter(byref,System.String)
      -34.80 (-0.36% of base) : 17731.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[__Canon,UInt32][System.__Canon,System.UInt32]:TryAddInternal(System.__Canon,System.Nullable`1[Int32],int,bool,bool,byref):bool:this
      -34.80 (-0.37% of base) : 4486.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[Int32,Int32][System.Int32,System.Int32]:TryAddInternal(int,System.Nullable`1[Int32],int,bool,bool,byref):bool:this
      -34.80 (-0.36% of base) : 17282.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[__Canon,Compliance][System.__Canon,Microsoft.CodeAnalysis.CSharp.ClsComplianceChecker+Compliance]:TryAddInternal(System.__Canon,System.Nullable`1[Int32],int,bool,bool,byref):bool:this
      -34.80 (-0.38% of base) : 19418.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[__Canon,ImmutableArray`1][System.__Canon,System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:TryAddInternal(System.__Canon,System.Nullable`1[Int32],System.Collections.Immutable.ImmutableArray`1[__Canon],bool,bool,byref):bool:this
      -34.80 (-0.37% of base) : 710.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[__Canon,__Canon][System.__Canon,System.__Canon]:TryAddInternal(System.__Canon,System.Nullable`1[Int32],System.__Canon,bool,bool,byref):bool:this
      -34.80 (-0.32% of base) : 4051.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ServiceCacheKey,__Canon][Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey,System.__Canon]:TryAddInternal(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey,System.Nullable`1[Int32],System.__Canon,bool,bool,byref):bool:this
      -32.80 (-0.07% of base) : 16414.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[__Canon,__Canon][System.__Canon,System.__Canon]:ReuseAssemblySymbols(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[__Canon],int):this
      -31.50 (-0.73% of base) : 1166.dasm - Product:CreateLists()
      -28.65 (-2.86% of base) : 14421.dasm - System.IO.Enumeration.FileSystemEnumerator`1[__Canon][System.__Canon]:MoveNext():bool:this
      -22.50 (-0.61% of base) : 10571.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
      -18.40 (-0.09% of base) : 1623.dasm - MessagePack.Internal.ObjectSerializationInfo:CreateOrNull(System.Type,bool,bool,bool):MessagePack.Internal.ObjectSerializationInfo
      -17.60 (-1.09% of base) : 5530.dasm - Number:ParseNumber(byref,long,int,byref,System.Text.StringBuilder,System.Globalization.NumberFormatInfo,bool):bool
      -16.80 (-0.17% of base) : 8811.dasm - ProtoBuf.Meta.MetaType:ResolveTupleConstructor(System.Type,byref):System.Reflection.ConstructorInfo
      -16.80 (-0.50% of base) : 9505.dasm - <MultipleSerial>d__23[Byte][System.Byte]:MoveNext():this
      -16.40 (-0.11% of base) : 16413.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[__Canon,__Canon][System.__Canon,System.__Canon]:ReuseAssemblySymbolsWithNoPiaLocalTypes(Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[System.__Canon,System.__Canon][],System.__Canon[],System.Collections.Immutable.ImmutableArray`1[__Canon],int):bool:this

Top method regressions (percentages):
        5.35 (22.96% of base) : 16245.dasm - Microsoft.CodeAnalysis.SyntaxToken:get_Language():System.String:this
       12.00 (14.39% of base) : 11078.dasm - ProtoBuf.Meta.TypeModel:ResolveKnownType(System.String,ProtoBuf.Meta.TypeModel,System.Reflection.Assembly):System.Type
        6.65 (14.18% of base) : 756.dasm - DefaultCharacteristicPresenter:ToPresentation(System.Object):System.String
        6.25 ( 9.96% of base) : 17764.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:MarkReachableFromBranch(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[[Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],BasicBlock)
        3.10 ( 9.27% of base) : 2261.dasm - System.Uri:Compress(System.Char[],int,byref,System.UriParser)
        4.45 ( 6.21% of base) : 17700.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:EmitSequencePointStatement(Microsoft.CodeAnalysis.CSharp.BoundSequencePointWithSpan):this
        0.90 ( 5.79% of base) : 11685.dasm - System.Text.Json.Serialization.Converters.ByteArrayConverter:Write(System.Text.Json.Utf8JsonWriter,System.Byte[],System.Text.Json.JsonSerializerOptions):this
        4.70 ( 5.74% of base) : 16354.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[__Canon,__Canon][System.__Canon,System.__Canon]:GetResolvedReferenceAndFreePropertyMapEntry(Microsoft.CodeAnalysis.MetadataReference,int,ubyte,System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.MetadataReference, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.MergedAliases, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):ResolvedReference[__Canon,__Canon]
        3.80 ( 5.68% of base) : 14081.dasm - DynamicClass:Regex5_Go(System.Text.RegularExpressions.RegexRunner)
        3.80 ( 5.29% of base) : 20402.dasm - DynamicClass:Regex11_Go(System.Text.RegularExpressions.RegexRunner)
        6.00 ( 4.44% of base) : 11410.dasm - <>c__DisplayClass7_0[__Canon][System.__Canon]:<SetupConcurrentStackIteration>b__1():this
        0.90 ( 4.26% of base) : 10752.dasm - System.Tests.Perf_String:Split(System.String,System.Char[],int):System.String[]:this
        5.10 ( 4.25% of base) : 20404.dasm - DynamicClass:Regex13_Go(System.Text.RegularExpressions.RegexRunner)
        5.10 ( 4.01% of base) : 20383.dasm - DynamicClass:Regex2_Go(System.Text.RegularExpressions.RegexRunner)
        8.20 ( 4.00% of base) : 240.dasm - System.Globalization.CultureData:InitIcuCultureDataCore():bool:this
        0.90 ( 3.96% of base) : 15197.dasm - Span.IndexerBench:Indexer6():ubyte:this
        0.90 ( 3.69% of base) : 20301.dasm - System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals:FixedTimeEquals_256Bit_SameReference():bool:this
        7.70 ( 3.67% of base) : 20403.dasm - DynamicClass:Regex12_Go(System.Text.RegularExpressions.RegexRunner)
        0.90 ( 3.42% of base) : 22061.dasm - System.Memory.ReadOnlySpan:StringAsSpan():System.ReadOnlySpan`1[Char]:this
        0.90 ( 3.35% of base) : 14021.dasm - System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals:FixedTimeEquals_256Bit_Equal():bool:this

Top method improvements (percentages):
       -0.90 (-6.47% of base) : 269.dasm - System.Globalization.CultureData:GetLocaleInfoExInt(System.String,int):int
       -2.90 (-6.35% of base) : 5155.dasm - System.IO.Compression.Brotli:Decompress_WithoutState():bool:this
       -2.15 (-6.33% of base) : 11572.dasm - System.Memory.Span`1[Char][System.Char]:SequenceEqual():bool:this
       -1.05 (-6.33% of base) : 13887.dasm - System.Memory.Constructors`1[Byte][System.Byte]:SpanImplicitCastFromArray():System.Span`1[Byte]:this
       -1.05 (-6.33% of base) : 21275.dasm - System.Memory.Constructors`1[Byte][System.Byte]:ArrayAsSpan():System.Span`1[Byte]:this
       -1.05 (-6.33% of base) : 14458.dasm - System.Memory.Constructors`1[Byte][System.Byte]:ReadOnlySpanImplicitCastFromArray():System.ReadOnlySpan`1[Byte]:this
       -1.05 (-6.33% of base) : 915.dasm - System.Diagnostics.Tracing.EventSource:get_ProviderMetadata():System.ReadOnlySpan`1[Byte]:this
       -1.55 (-5.34% of base) : 15001.dasm - System.Tests.Perf_Enum:TryParseGeneric(System.String):bool:this
       -1.30 (-5.08% of base) : 20253.dasm - System.Memory.Constructors`1[Byte][System.Byte]:ReadOnlyMemoryFromArray():System.ReadOnlyMemory`1[Byte]:this
       -1.30 (-5.08% of base) : 12535.dasm - System.Memory.Constructors`1[__Canon][System.__Canon]:ReadOnlyMemoryFromArray():System.ReadOnlyMemory`1[__Canon]:this
       -1.30 (-5.08% of base) : 19845.dasm - System.Memory.Constructors`1[Byte][System.Byte]:MemoryFromArray():System.Memory`1[Byte]:this
       -1.55 (-5.00% of base) : 12574.dasm - Internal.Cryptography.Pal.CertificatePal:get_HasPrivateKey():bool:this
       -0.90 (-5.00% of base) : 13957.dasm - System.Globalization.TextInfo:ChangeCase(ushort,bool):ushort:this
       -0.90 (-4.74% of base) : 928.dasm - System.Text.StringBuilder:AppendHelper(System.String):this
       -1.30 (-4.68% of base) : 15116.dasm - Newtonsoft.Json.Utilities.ConvertUtils:TryConvert(System.Object,System.Globalization.CultureInfo,System.Type,byref):bool
       -0.90 (-4.59% of base) : 16688.dasm - System.Reflection.Metadata.Ecma335.GenericParamTableReader:FindGenericParametersForType(System.Reflection.Metadata.TypeDefinitionHandle):System.Reflection.Metadata.GenericParameterHandleCollection:this
       -0.90 (-4.47% of base) : 11753.dasm - System.Threading.Tasks.Tests.Perf_AsyncMethods:<EmptyAsyncMethodInvocation>g__EmptyAsync|0_0():System.Threading.Tasks.Task
       -2.35 (-4.46% of base) : 20256.dasm - System.Memory.Memory`1[Byte][System.Byte]:Pin():this
       -2.35 (-4.46% of base) : 9871.dasm - System.Memory.ReadOnlyMemory`1[Char][System.Char]:Pin():this
       -0.90 (-4.41% of base) : 2439.dasm - System.Runtime.Serialization.DataContractSerializer:.cctor()

1749 total methods with Perf Score differences (1564 improved, 185 regressed), 3949 unchanged.


Linux Arm64 (libraries.pmi)


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 16666072
Total bytes of diff: 16612608
Total bytes of delta: -53464 (-0.32% of base)
    diff is an improvement.
Detail diffs


Top file regressions (bytes):
          44 : 52269.dasm (2.61% of base)
          40 : 145454.dasm (3.08% of base)
          32 : 12164.dasm (2.99% of base)
          28 : 167888.dasm (1.68% of base)
          28 : 34634.dasm (4.07% of base)
          24 : 159506.dasm (2.37% of base)
          20 : 177359.dasm (14.29% of base)
          20 : 72889.dasm (1.00% of base)
          20 : 11913.dasm (15.15% of base)
          20 : 107614.dasm (6.02% of base)
          20 : 73321.dasm (1.06% of base)
          20 : 214683.dasm (2.29% of base)
          20 : 35436.dasm (3.09% of base)
          20 : 135094.dasm (35.71% of base)
          20 : 183973.dasm (13.51% of base)
          20 : 192040.dasm (13.51% of base)
          20 : 138955.dasm (9.09% of base)
          20 : 140841.dasm (2.89% of base)
          16 : 14957.dasm (7.55% of base)
          16 : 185204.dasm (17.39% of base)

Top file improvements (bytes):
       -1244 : 9325.dasm (-4.35% of base)
        -288 : 134275.dasm (-3.39% of base)
        -208 : 17023.dasm (-0.67% of base)
        -144 : 51758.dasm (-0.66% of base)
        -128 : 191786.dasm (-16.24% of base)
        -128 : 191997.dasm (-15.61% of base)
        -120 : 213874.dasm (-7.06% of base)
        -116 : 143123.dasm (-5.98% of base)
        -112 : 11390.dasm (-1.99% of base)
        -112 : 191370.dasm (-14.51% of base)
        -108 : 133622.dasm (-5.68% of base)
        -108 : 213878.dasm (-2.75% of base)
        -100 : 131695.dasm (-1.01% of base)
         -96 : 191782.dasm (-26.67% of base)
         -92 : 133662.dasm (-5.69% of base)
         -92 : 134318.dasm (-3.25% of base)
         -88 : 15390.dasm (-1.66% of base)
         -84 : 133809.dasm (-6.00% of base)
         -80 : 133664.dasm (-5.46% of base)
         -80 : 11655.dasm (-1.25% of base)

8916 total files with Code Size differences (8424 improved, 492 regressed), 21541 unchanged.

Top method regressions (bytes):
          44 ( 2.61% of base) : 52269.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetDeclarationName(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode):System.String:this
          40 ( 3.08% of base) : 145454.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ConstVal:IsDefault(System.Object):bool
          32 ( 2.99% of base) : 12164.dasm - Microsoft.CodeAnalysis.VisualBasic.InitializerSemanticModel:Bind(Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundNode:this
          28 ( 1.68% of base) : 167888.dasm - <MapValuesImpl>d__1:MoveNext():bool:this
          28 ( 4.07% of base) : 34634.dasm - TypeBinder:GetBaseNamesForDiagnostic(Microsoft.CodeAnalysis.VisualBasic.Syntax.TypeSyntax):System.String
          24 ( 2.37% of base) : 159506.dasm - OperatorIntrinsics:GetArraySlice4D(System.__Canon[,,,],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32],Microsoft.FSharp.Core.FSharpOption`1[Int32]):System.__Canon[,,,]
          20 (14.29% of base) : 177359.dasm - System.Reflection.TypeLoading.RoConstructor:ToString():System.String:this
          20 ( 1.00% of base) : 72889.dasm - <Microsoft-Cci-ITypeDefinition-GetExplicitImplementationOverrides>d__31:MoveNext():bool:this
          20 (15.15% of base) : 11913.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:get_ContainingModule():Microsoft.CodeAnalysis.VisualBasic.Symbols.ModuleSymbol:this
          20 ( 6.02% of base) : 107614.dasm - System.Configuration.ClientConfigurationHost:GetStreamName(System.String):System.String:this
          20 ( 1.06% of base) : 73321.dasm - <GetMethodsToEmit>d__68:MoveNext():bool:this
          20 ( 2.29% of base) : 214683.dasm - System.ServiceModel.Syndication.SyndicationFeed:TryReadSkipHoursFromExtension(System.ServiceModel.Syndication.SyndicationElementExtensionCollection,System.Collections.ObjectModel.Collection`1[Int32]):this
          20 ( 3.09% of base) : 35436.dasm - ComClassData:.ctor(Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData):this
          20 (35.71% of base) : 135094.dasm - Microsoft.CodeAnalysis.DesktopStrongNameProvider:GetStrongNameInterface():Microsoft.CodeAnalysis.Interop.IClrStrongName:this
          20 (13.51% of base) : 183973.dasm - System.Security.Cryptography.ECOpenSsl:ImportNamedCurveParameters(System.Security.Cryptography.ECParameters):Microsoft.Win32.SafeHandles.SafeEcKeyHandle
          20 (13.51% of base) : 192040.dasm - System.Security.Cryptography.ECOpenSsl:ImportNamedCurveParameters(System.Security.Cryptography.ECParameters):Microsoft.Win32.SafeHandles.SafeEcKeyHandle
          20 ( 9.09% of base) : 138955.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:MarkReachableFromBranch(Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],BasicBlock)
          20 ( 2.89% of base) : 140841.dasm - <GetTopLevelTypes>d__8:MoveNext():bool:this
          16 ( 7.55% of base) : 14957.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.QuickAttributeChecker:GetFinalName(Microsoft.CodeAnalysis.VisualBasic.Syntax.TypeSyntax):System.String:this
          16 (17.39% of base) : 185204.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(System.__Canon):System.IDisposable:this

Top method improvements (bytes):
       -1244 (-4.35% of base) : 9325.dasm - System.Net.Security.TlsCipherSuiteData:.cctor()
        -288 (-3.39% of base) : 134275.dasm - Microsoft.Cci.PeWriter:WriteHeaders(System.IO.Stream,Microsoft.Cci.NtHeader,Microsoft.Cci.CoffHeader,System.Collections.Generic.List`1[[Microsoft.Cci.SectionHeader, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
        -208 (-0.67% of base) : 17023.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCommandLineParser:Parse(System.Collections.Generic.IEnumerable`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.String,System.String,System.String):Microsoft.CodeAnalysis.VisualBasic.VisualBasicCommandLineArguments:this
        -144 (-0.66% of base) : 51758.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCommandLineParser:Parse(System.Collections.Generic.IEnumerable`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.String,System.String,System.String):Microsoft.CodeAnalysis.CSharp.CSharpCommandLineArguments:this
        -128 (-16.24% of base) : 191786.dasm - System.Security.Cryptography.RSA:ToXmlString(bool):System.String:this
        -128 (-15.61% of base) : 191997.dasm - System.Security.Cryptography.RSAKeyFormatHelper:WritePkcs1PrivateKey(byref):System.Formats.Asn1.AsnWriter
        -120 (-7.06% of base) : 213874.dasm - System.Drawing.ColorTranslator:FromOle(int):System.Drawing.Color
        -116 (-5.98% of base) : 143123.dasm - Microsoft.VisualBasic.CompilerServices.Conversions:ToDecimal(System.Object,System.Globalization.NumberFormatInfo):System.Decimal
        -112 (-1.99% of base) : 11390.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:InterpretForEachStatementCollection(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,byref,byref,byref,byref,byref,byref,byref,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this
        -112 (-14.51% of base) : 191370.dasm - System.Security.Cryptography.DSA:ToXmlString(bool):System.String:this
        -108 (-5.68% of base) : 133622.dasm - Microsoft.Cci.MetadataWriter:SerializeAssemblyRefTable(Microsoft.Cci.BlobBuilder,Microsoft.Cci.MetadataSizes):this
        -108 (-2.75% of base) : 213878.dasm - System.Drawing.ColorTranslator:InitializeHtmlSysColorTable()
        -100 (-1.01% of base) : 131695.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
         -96 (-26.67% of base) : 191782.dasm - System.Security.Cryptography.RSA:ClearPrivateParameters(byref)
         -92 (-5.69% of base) : 133662.dasm - Microsoft.Cci.MetadataWriter:SerializeTypeDefTable(Microsoft.Cci.BlobBuilder,Microsoft.Cci.MetadataSizes):this
         -92 (-3.25% of base) : 134318.dasm - Microsoft.Cci.PeWriter:WriteDirectory(Directory,Microsoft.Cci.BlobBuilder,int,int,int,int,Microsoft.Cci.BlobBuilder):this
         -88 (-1.66% of base) : 15390.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberMethodSymbol:BindSingleHandlesClause(Microsoft.CodeAnalysis.VisualBasic.Syntax.HandlesClauseItemSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):Microsoft.CodeAnalysis.VisualBasic.HandledEvent:this
         -84 (-6.00% of base) : 133809.dasm - Microsoft.Cci.MetadataWriter:SerializeLocalScopeTable(Microsoft.Cci.BlobBuilder,Microsoft.Cci.MetadataSizes):this
         -80 (-5.46% of base) : 133664.dasm - Microsoft.Cci.MetadataWriter:SerializeMethodDefTable(Microsoft.Cci.BlobBuilder,Microsoft.Cci.MetadataSizes,int):this
         -80 (-1.25% of base) : 11655.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindAwait(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.DiagnosticBag,bool):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this

Top method regressions (percentages):
          16 (36.36% of base) : 172194.dasm - System.Diagnostics.Activity:GetTagItem(System.String):System.Object:this
          20 (35.71% of base) : 135094.dasm - Microsoft.CodeAnalysis.DesktopStrongNameProvider:GetStrongNameInterface():Microsoft.CodeAnalysis.Interop.IClrStrongName:this
          16 (25.00% of base) : 168068.dasm - <>c:<GetData>b__17_1(System.Object):System.String:this
          16 (23.53% of base) : 137096.dasm - Microsoft.CodeAnalysis.SyntaxToken:get_Language():System.String:this
          16 (23.53% of base) : 137189.dasm - Microsoft.CodeAnalysis.SyntaxTrivia:get_Language():System.String:this
          16 (22.22% of base) : 89319.dasm - System.Xml.XmlTextReader:LookupNamespace(System.String):System.String:this
          16 (21.05% of base) : 90134.dasm - System.Xml.XmlValidatingReader:LookupNamespace(System.String):System.String:this
          16 (21.05% of base) : 137070.dasm - Microsoft.CodeAnalysis.SyntaxToken:GetAnnotations(System.String):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxAnnotation, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
          16 (21.05% of base) : 137072.dasm - Microsoft.CodeAnalysis.SyntaxToken:GetAnnotations(System.Collections.Generic.IEnumerable`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxAnnotation, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
          16 (20.00% of base) : 136919.dasm - Microsoft.CodeAnalysis.SyntaxNode:Ancestors(bool):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
          16 (19.05% of base) : 51898.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:FreezeDeclarationDiagnostics():System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.Diagnostic, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
          16 (19.05% of base) : 75171.dasm - System.Threading.Tasks.Task`1[Byte][System.Byte]:get_DebuggerDisplayMethodDescription():System.String:this
          16 (18.18% of base) : 107850.dasm - System.Configuration.ConfigurationException:GetXmlNodeFilename(System.Xml.XmlNode):System.String
          16 (17.39% of base) : 185204.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(System.__Canon):System.IDisposable:this
          20 (15.15% of base) : 11913.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:get_ContainingModule():Microsoft.CodeAnalysis.VisualBasic.Symbols.ModuleSymbol:this
          20 (14.29% of base) : 177359.dasm - System.Reflection.TypeLoading.RoConstructor:ToString():System.String:this
           8 (14.29% of base) : 196585.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite:get_ServiceType():System.Type:this
          20 (13.51% of base) : 183973.dasm - System.Security.Cryptography.ECOpenSsl:ImportNamedCurveParameters(System.Security.Cryptography.ECParameters):Microsoft.Win32.SafeHandles.SafeEcKeyHandle
          20 (13.51% of base) : 192040.dasm - System.Security.Cryptography.ECOpenSsl:ImportNamedCurveParameters(System.Security.Cryptography.ECParameters):Microsoft.Win32.SafeHandles.SafeEcKeyHandle
          16 (12.50% of base) : 185205.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(ubyte):System.IDisposable:this

Top method improvements (percentages):
         -20 (-29.41% of base) : 83165.dasm - System.Text.Json.JsonEncodedText:get_EncodedUtf8Bytes():System.ReadOnlySpan`1[Byte]:this
         -96 (-26.67% of base) : 191782.dasm - System.Security.Cryptography.RSA:ClearPrivateParameters(byref)
         -32 (-25.00% of base) : 8953.dasm - System.Net.Security.SslApplicationProtocol:op_Equality(System.Net.Security.SslApplicationProtocol,System.Net.Security.SslApplicationProtocol):bool
         -16 (-23.53% of base) : 141861.dasm - Internal.Cryptography.PkcsHelpers:ToSkiString(System.Byte[]):System.String
         -16 (-23.53% of base) : 174672.dasm - System.Net.SocketAddress:get_Family():int:this
         -16 (-23.53% of base) : 191287.dasm - System.Security.Cryptography.AesCcm:Dispose():this
         -32 (-23.53% of base) : 8954.dasm - System.Net.Security.SslApplicationProtocol:op_Inequality(System.Net.Security.SslApplicationProtocol,System.Net.Security.SslApplicationProtocol):bool
         -16 (-23.53% of base) : 208950.dasm - System.Net.Internals.SocketAddress:get_Family():int:this
         -16 (-23.53% of base) : 83991.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.ReadOnlySpan`1[Char]):this
         -16 (-23.53% of base) : 83995.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.ReadOnlySpan`1[Byte]):this
         -16 (-23.53% of base) : 83999.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.ReadOnlySpan`1[Char],System.Text.Json.JsonEncodedText):this
         -16 (-23.53% of base) : 84002.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.ReadOnlySpan`1[Byte],System.Text.Json.JsonEncodedText):this
         -16 (-23.53% of base) : 183365.dasm - System.Security.Cryptography.Xml.Utils:EncodeHexString(System.Byte[]):System.String
         -52 (-22.03% of base) : 83984.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.Text.Json.JsonEncodedText):this
         -16 (-19.05% of base) : 177280.dasm - System.Reflection.NameFilterCaseSensitive:Matches(System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.MetadataReader):bool:this
         -20 (-17.86% of base) : 209777.dasm - System.Net.Sockets.SocketPal:AvoidNullReference(System.ReadOnlySpan`1[Byte]):System.ReadOnlySpan`1[Byte]
         -20 (-17.24% of base) : 8949.dasm - System.Net.Security.SslApplicationProtocol:Equals(System.Net.Security.SslApplicationProtocol):bool:this
         -16 (-16.67% of base) : 84229.dasm - System.Text.Json.Utf8JsonWriter:WriteStartArray(System.Text.Json.JsonEncodedText):this
         -16 (-16.67% of base) : 84230.dasm - System.Text.Json.Utf8JsonWriter:WriteStartObject(System.Text.Json.JsonEncodedText):this
         -16 (-16.67% of base) : 1160.dasm - System.Security.Cryptography.X509Certificates.ECDsaX509SignatureGenerator:SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName):System.Byte[]:this

8916 total methods with Code Size differences (8424 improved, 492 regressed), 21541 unchanged.



Summary of Perf Score diffs:
(Lower is better)

Total PerfScoreUnits of base: 33796010703573428
Total PerfScoreUnits of diff: 33796010669323444
Total PerfScoreUnits of delta: -34250021.36 (-0.00% of base)
    diff is an improvement.
Detail diffs


Top file regressions (PerfScoreUnits):
       60.10 : 163823.dasm (3.20% of base)
       42.20 : 146211.dasm (1.28% of base)
       16.40 : 89923.dasm (0.23% of base)
       14.60 : 96456.dasm (0.72% of base)
        9.40 : 52269.dasm (2.49% of base)
        8.40 : 68568.dasm (0.75% of base)
        7.40 : 102083.dasm (0.02% of base)
        6.25 : 138955.dasm (9.96% of base)
        6.20 : 18820.dasm (3.12% of base)
        6.20 : 89653.dasm (1.43% of base)
        6.20 : 18834.dasm (3.11% of base)
        6.20 : 18849.dasm (3.12% of base)
        6.20 : 18863.dasm (3.11% of base)
        6.00 : 183973.dasm (10.74% of base)
        6.00 : 192040.dasm (10.74% of base)
        6.00 : 190012.dasm (0.29% of base)
        6.00 : 140841.dasm (2.38% of base)
        5.75 : 177359.dasm (10.50% of base)
        5.75 : 35436.dasm (3.20% of base)
        5.75 : 135094.dasm (31.34% of base)

Top file improvements (PerfScoreUnits):
    -33652820.00 : 15387.dasm (-0.00% of base)
    -524288.40 : 68958.dasm (-1.50% of base)
    -23902.00 : 11334.dasm (-0.05% of base)
    -20480.80 : 100367.dasm (-0.21% of base)
    -4198.90 : 1001.dasm (-0.53% of base)
    -1618.80 : 100628.dasm (-0.41% of base)
    -1289.60 : 69336.dasm (-0.20% of base)
    -1095.00 : 2321.dasm (-0.79% of base)
    -1049.70 : 41713.dasm (-0.00% of base)
    -1026.20 : 49782.dasm (-0.15% of base)
     -530.10 : 194117.dasm (-0.44% of base)
     -473.90 : 163043.dasm (-7.36% of base)
     -280.55 : 11801.dasm (-0.17% of base)
     -279.90 : 9325.dasm (-2.54% of base)
     -259.70 : 176536.dasm (-3.45% of base)
     -242.00 : 100315.dasm (-0.48% of base)
     -193.70 : 11669.dasm (-0.24% of base)
     -189.20 : 11659.dasm (-0.29% of base)
     -170.36 : 143630.dasm (-1.94% of base)
     -140.80 : 144011.dasm (-0.02% of base)

8990 total files with Perf Score differences (8457 improved, 533 regressed), 21467 unchanged.

Top method regressions (PerfScoreUnits):
       60.10 ( 3.20% of base) : 163823.dasm - Newtonsoft.Json.Serialization.JsonSerializerInternalReader:PopulateDictionary(System.Collections.IDictionary,Newtonsoft.Json.JsonReader,Newtonsoft.Json.Serialization.JsonDictionaryContract,Newtonsoft.Json.Serialization.JsonProperty,System.String):System.Object:this
       42.20 ( 1.28% of base) : 146211.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
       16.40 ( 0.23% of base) : 89923.dasm - <ParseAttributesAsync>d__531:MoveNext():this
       14.60 ( 0.72% of base) : 96456.dasm - System.Xml.Xsl.XsltOld.XsltCompileContext:FindBestMethod(System.Reflection.MethodInfo[],bool,bool,System.String,System.Xml.XPath.XPathResultType[]):System.Reflection.MethodInfo:this
        9.40 ( 2.49% of base) : 52269.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetDeclarationName(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode):System.String:this
        8.40 ( 0.75% of base) : 68568.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ReportNameCollisionDiagnosticsForAddedModules(Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceSymbol,Microsoft.CodeAnalysis.DiagnosticBag):this
        7.40 ( 0.02% of base) : 102083.dasm - System.ComponentModel.Composition.Hosting.ImportEngine:TrySatisfyImportSubset(PartManager,System.Collections.Generic.IEnumerable`1[[System.ComponentModel.Composition.Primitives.ImportDefinition, System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]],System.ComponentModel.Composition.Hosting.AtomicComposition):System.ComponentModel.Composition.CompositionResult:this
        6.25 ( 9.96% of base) : 138955.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:MarkReachableFromBranch(Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],BasicBlock)
        6.20 ( 3.12% of base) : 18820.dasm - Microsoft.CodeAnalysis.VisualBasic.MethodToClassRewriter`1[__Canon][System.__Canon]:SubstituteMethodForMyBaseOrMyClassCall(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol):Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol:this
        6.20 ( 1.43% of base) : 89653.dasm - System.Xml.XmlTextReaderImpl:DetectEncoding():System.Text.Encoding:this
        6.20 ( 3.11% of base) : 18834.dasm - Microsoft.CodeAnalysis.VisualBasic.MethodToClassRewriter`1[__Canon][System.__Canon]:VisitMethodSymbol(Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol):Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol:this
        6.20 ( 3.12% of base) : 18849.dasm - Microsoft.CodeAnalysis.VisualBasic.MethodToClassRewriter`1[Byte][System.Byte]:SubstituteMethodForMyBaseOrMyClassCall(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol):Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol:this
        6.20 ( 3.11% of base) : 18863.dasm - Microsoft.CodeAnalysis.VisualBasic.MethodToClassRewriter`1[Byte][System.Byte]:VisitMethodSymbol(Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol):Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol:this
        6.00 (10.74% of base) : 183973.dasm - System.Security.Cryptography.ECOpenSsl:ImportNamedCurveParameters(System.Security.Cryptography.ECParameters):Microsoft.Win32.SafeHandles.SafeEcKeyHandle
        6.00 (10.74% of base) : 192040.dasm - System.Security.Cryptography.ECOpenSsl:ImportNamedCurveParameters(System.Security.Cryptography.ECParameters):Microsoft.Win32.SafeHandles.SafeEcKeyHandle
        6.00 ( 0.29% of base) : 190012.dasm - System.Numerics.BigIntegerCalculator:Gcd(byref,byref)
        6.00 ( 2.38% of base) : 140841.dasm - <GetTopLevelTypes>d__8:MoveNext():bool:this
        5.75 (10.50% of base) : 177359.dasm - System.Reflection.TypeLoading.RoConstructor:ToString():System.String:this
        5.75 ( 3.20% of base) : 35436.dasm - ComClassData:.ctor(Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData):this
        5.75 (31.34% of base) : 135094.dasm - Microsoft.CodeAnalysis.DesktopStrongNameProvider:GetStrongNameInterface():Microsoft.CodeAnalysis.Interop.IClrStrongName:this

Top method improvements (PerfScoreUnits):
    -33652820.00 (-0.00% of base) : 15387.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberFieldSymbol:Create(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Syntax.FieldDeclarationSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,MembersAndInitializersBuilder,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag)
    -524288.40 (-1.50% of base) : 68958.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:MergePartialMethods(System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.CSharp.Symbol, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],Microsoft.CodeAnalysis.DiagnosticBag)
    -23902.00 (-0.05% of base) : 11334.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:DecodeParameterList(Microsoft.CodeAnalysis.VisualBasic.Symbol,bool,int,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.ParameterSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.ParameterSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],CheckParameterModifierDelegate,Microsoft.CodeAnalysis.DiagnosticBag):this
    -20480.80 (-0.21% of base) : 100367.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteEnumAndArrayTypes():this
    -4198.90 (-0.53% of base) : 1001.dasm - Internal.Cryptography.Pal.X500NameEncoder:ParseDistinguishedName(System.String,System.Collections.Generic.List`1[Char],bool):System.Collections.Generic.List`1[[System.Byte[], System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]
    -1618.80 (-0.41% of base) : 100628.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteEnumAndArrayTypes():this
    -1289.60 (-0.20% of base) : 69336.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbol:ForceComplete(Microsoft.CodeAnalysis.SourceLocation,System.Threading.CancellationToken):this
    -1095.00 (-0.79% of base) : 2321.dasm - System.Data.Common.MultipartIdentifier:ParseMultipartIdentifier(System.String,System.String,System.String,ushort,int,bool,System.String,bool):System.String[]
    -1049.70 (-0.00% of base) : 41713.dasm - System.Data.XmlTreeGen:HandleTable(System.Data.DataTable,System.Xml.XmlDocument,System.Xml.XmlElement,bool):System.Xml.XmlElement:this
    -1026.20 (-0.15% of base) : 49782.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindInterpolatedString(Microsoft.CodeAnalysis.CSharp.Syntax.InterpolatedStringExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this
     -530.10 (-0.44% of base) : 194117.dasm - System.Net.TimerThread:ThreadProc()
     -473.90 (-7.36% of base) : 163043.dasm - Newtonsoft.Json.Utilities.ConvertUtils:DecimalTryParse(System.Char[],int,int,byref):int
     -280.55 (-0.17% of base) : 11801.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindAttribute(Microsoft.CodeAnalysis.VisualBasic.Syntax.AttributeSyntax,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundAttribute:this
     -279.90 (-2.54% of base) : 9325.dasm - System.Net.Security.TlsCipherSuiteData:.cctor()
     -259.70 (-3.45% of base) : 176536.dasm - <InternalReadAllTextAsync>d__68:MoveNext():this
     -242.00 (-0.48% of base) : 100315.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberBegin(System.Xml.Serialization.XmlSerializationReaderILGen+Member[]):this
     -193.70 (-0.24% of base) : 11669.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindInterpolatedStringExpression(Microsoft.CodeAnalysis.VisualBasic.Syntax.InterpolatedStringExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this
     -189.20 (-0.29% of base) : 11659.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindFieldAndPropertyInitializers(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,System.Collections.Immutable.ImmutableArray`1[ImmutableArray`1],Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedInteractiveInitializerMethod,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.BoundInitializer, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]
     -170.36 (-1.94% of base) : 143630.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:CollectOverloadCandidates(System.Reflection.MemberInfo[],System.Object[],int,System.String[],System.Type[],bool,System.Type,byref,byref,Container):System.Collections.Generic.List`1[[Microsoft.VisualBasic.CompilerServices.Symbols+Method, Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]
     -140.80 (-0.02% of base) : 144011.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this

Top method regressions (percentages):
        5.35 (37.15% of base) : 172194.dasm - System.Diagnostics.Activity:GetTagItem(System.String):System.Object:this
        5.35 (32.62% of base) : 168068.dasm - <>c:<GetData>b__17_1(System.Object):System.String:this
        5.75 (31.34% of base) : 135094.dasm - Microsoft.CodeAnalysis.DesktopStrongNameProvider:GetStrongNameInterface():Microsoft.CodeAnalysis.Interop.IClrStrongName:this
        5.35 (25.36% of base) : 137070.dasm - Microsoft.CodeAnalysis.SyntaxToken:GetAnnotations(System.String):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxAnnotation, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
        5.35 (25.36% of base) : 137072.dasm - Microsoft.CodeAnalysis.SyntaxToken:GetAnnotations(System.Collections.Generic.IEnumerable`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxAnnotation, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
        5.35 (24.60% of base) : 136919.dasm - Microsoft.CodeAnalysis.SyntaxNode:Ancestors(bool):System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
        5.35 (23.21% of base) : 107850.dasm - System.Configuration.ConfigurationException:GetXmlNodeFilename(System.Xml.XmlNode):System.String
        5.35 (22.96% of base) : 137096.dasm - Microsoft.CodeAnalysis.SyntaxToken:get_Language():System.String:this
        5.35 (22.96% of base) : 137189.dasm - Microsoft.CodeAnalysis.SyntaxTrivia:get_Language():System.String:this
        5.35 (22.86% of base) : 51898.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:FreezeDeclarationDiagnostics():System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.Diagnostic, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
        5.35 (21.44% of base) : 185204.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(System.__Canon):System.IDisposable:this
        5.35 (18.97% of base) : 89319.dasm - System.Xml.XmlTextReader:LookupNamespace(System.String):System.String:this
        5.35 (17.89% of base) : 75171.dasm - System.Threading.Tasks.Task`1[Byte][System.Byte]:get_DebuggerDisplayMethodDescription():System.String:this
        5.35 (16.93% of base) : 90134.dasm - System.Xml.XmlValidatingReader:LookupNamespace(System.String):System.String:this
        5.35 (16.19% of base) : 185205.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(ubyte):System.IDisposable:this
        5.35 (16.19% of base) : 185206.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(short):System.IDisposable:this
        5.35 (16.19% of base) : 185207.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(int):System.IDisposable:this
        5.35 (16.19% of base) : 185210.dasm - Microsoft.Extensions.Logging.Console.ConsoleLogger:BeginScope(long):System.IDisposable:this
        5.50 (12.44% of base) : 11913.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:get_ContainingModule():Microsoft.CodeAnalysis.VisualBasic.Symbols.ModuleSymbol:this
        6.00 (10.74% of base) : 183973.dasm - System.Security.Cryptography.ECOpenSsl:ImportNamedCurveParameters(System.Security.Cryptography.ECParameters):Microsoft.Win32.SafeHandles.SafeEcKeyHandle

Top method improvements (percentages):
       -5.00 (-25.58% of base) : 83165.dasm - System.Text.Json.JsonEncodedText:get_EncodedUtf8Bytes():System.ReadOnlySpan`1[Byte]:this
       -4.10 (-24.05% of base) : 141861.dasm - Internal.Cryptography.PkcsHelpers:ToSkiString(System.Byte[]):System.String
       -4.10 (-24.05% of base) : 183365.dasm - System.Security.Cryptography.Xml.Utils:EncodeHexString(System.Byte[]):System.String
      -24.60 (-23.77% of base) : 191782.dasm - System.Security.Cryptography.RSA:ClearPrivateParameters(byref)
       -4.10 (-23.36% of base) : 83991.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.ReadOnlySpan`1[Char]):this
       -4.10 (-23.36% of base) : 83995.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.ReadOnlySpan`1[Byte]):this
       -4.10 (-23.36% of base) : 83999.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.ReadOnlySpan`1[Char],System.Text.Json.JsonEncodedText):this
       -4.10 (-23.36% of base) : 84002.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.ReadOnlySpan`1[Byte],System.Text.Json.JsonEncodedText):this
       -4.10 (-20.97% of base) : 174672.dasm - System.Net.SocketAddress:get_Family():int:this
       -4.10 (-20.97% of base) : 191287.dasm - System.Security.Cryptography.AesCcm:Dispose():this
       -4.10 (-20.97% of base) : 208950.dasm - System.Net.Internals.SocketAddress:get_Family():int:this
       -2.90 (-20.86% of base) : 142571.dasm - System.Security.Cryptography.Pkcs.Pkcs12SafeContents:Decrypt(System.ReadOnlySpan`1[Byte]):this
      -11.20 (-18.41% of base) : 83984.dasm - System.Text.Json.Utf8JsonWriter:WriteString(System.Text.Json.JsonEncodedText,System.Text.Json.JsonEncodedText):this
       -4.68 (-17.64% of base) : 8953.dasm - System.Net.Security.SslApplicationProtocol:op_Equality(System.Net.Security.SslApplicationProtocol,System.Net.Security.SslApplicationProtocol):bool
       -4.10 (-17.34% of base) : 177280.dasm - System.Reflection.NameFilterCaseSensitive:Matches(System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.MetadataReader):bool:this
       -4.68 (-16.52% of base) : 8954.dasm - System.Net.Security.SslApplicationProtocol:op_Inequality(System.Net.Security.SslApplicationProtocol,System.Net.Security.SslApplicationProtocol):bool
       -4.20 (-16.17% of base) : 107598.dasm - System.Configuration.ClientConfigurationHost:get_HasRoamingConfig():bool:this
       -4.20 (-16.17% of base) : 107599.dasm - System.Configuration.ClientConfigurationHost:get_HasLocalConfig():bool:this
       -4.10 (-15.56% of base) : 84229.dasm - System.Text.Json.Utf8JsonWriter:WriteStartArray(System.Text.Json.JsonEncodedText):this
       -4.10 (-15.56% of base) : 84230.dasm - System.Text.Json.Utf8JsonWriter:WriteStartObject(System.Text.Json.JsonEncodedText):this

8990 total methods with Perf Score differences (8457 improved, 533 regressed), 21467 unchanged.


@kunalspathak
Copy link
Member Author

Here is some analysis from the regression:

Earlier, the code "mov XXX, #0" had RefTypeDef followed by (last) RefTypeUse and thus would end up assigning x0/x1 registers (using PREFERENCE_SET heuristics). Now, we would generate "mov XXX, xzr", and it is tied to a single refposition (vs. Use/Defs earlier) and that sometimes come in a way of heuristic because of which we end up selecting the first available free register (REG_NUM heuristics). Mostly, those are x20 and above. In the regression, we occasionally have to do extra moves to get the value from x20 or any other register to x0 or x1 before doing a call. For such regressions, sometimes the stack space is increased because now we need to store/load the value of register that will be allocated for storing zero in prolog/epilog. There is also a side effect of marking the register as having GC ref sometimes because of the added moves.

Overall, the code size improved with better CQ and we can tolerate the regression.

@kunalspathak
Copy link
Member Author

Failures are unrelated.

@kunalspathak kunalspathak marked this pull request as ready for review May 5, 2021 06:31
@kunalspathak
Copy link
Member Author

@dotnet/jit-contrib

Copy link
Contributor

@echesakov echesakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kunalspathak Have you confirmed that strb and strh work properly with this change?

@kunalspathak
Copy link
Member Author

@kunalspathak Have you confirmed that strb and strh work properly with this change?

@echesakov - No, this doesn't address strb and strh cases because we do not constant propagate for anything whose size is is less than TYP_INT as seen here, for the following test scenario 0 is of type TYP_INT.

struct MyMemory1
{
    byte x1;
    byte x2;

    private MyMemory1(byte x, byte y)
    {
        x1 = x;
        x2 = y;
    }

    public MyMemory1 Slice()
    {
        return new MyMemory1(0, 0);
    }
}

[MethodImpl(MethodImplOptions.NoInlining)]
public MyMemory1 Test1()
{
    var m = new MyMemory1().Slice();
    Consume(m);
    return m;
}

The code we generate is:

G_M31828_IG01:              ;; offset=0000H
        A9BE7BFD          stp     fp, lr, [sp,#-32]!
        910003FD          mov     fp, sp
        F9000FBF          str     xzr, [fp,#24] // [V01 loc0]
        F9000BBF          str     xzr, [fp,#16] // [V02 loc1]
                                                ;; bbWeight=1    PerfScore 3.50
G_M31828_IG02:              ;; offset=0010H
        910043A0          add     x0, fp, #16   // [V02 loc1]
        7900001F          strh    wzr, [x0]
        2A1F03E0          mov     w0, wzr
        390063A0          strb    w0, [fp,#24]  // [V06 tmp3]
        390067A0          strb    w0, [fp,#25]  // [V07 tmp4]
        910063A0          add     x0, fp, #24   // [V01 loc0]
        94000000          bl      MiniBench.Slice:Consume(byref)
        B9401BA0          ldr     w0, [fp,#24]  // [V01 loc0]
                                                ;; bbWeight=1    PerfScore 7.50
G_M31828_IG03:              ;; offset=0030H
        A8C27BFD          ldp     fp, lr, [sp],#32
        D65F03C0          ret     lr
Related JitDump
DefList: {  }
N015 (  1,  2) [000040] -c----------              *  CNS_INT   int    0 REG NA $80
Contained
DefList: {  }
N017 (  1,  3) [000042] DA----------              *  STORE_LCL_VAR ubyte  V11 tmp8         d:2 NA REG NA
<RefPosition #5   @18  RefTypeDef <Ivl:1 V11> STORE_LCL_VAR BB01 regmask=[x0-xip0 x19-x28] minReg=1 last>

DefList: {  }
N019 (  2,  2) [000052] ------------              *  LCL_VAR   ubyte  V11 tmp8         u:2 NA REG NA $80

DefList: {  }
N021 (  7,  6) [000053] DA--G-------              *  STORE_LCL_VAR ubyte (AX) V06 tmp3          NA REG NA
<RefPosition #6   @21  RefTypeUse <Ivl:1 V11> LCL_VAR BB01 regmask=[x0-xip0 x19-x28] minReg=1 last>

DefList: {  }
N023 (  2,  2) [000055] ------------              *  LCL_VAR   ubyte  V11 tmp8         u:2 NA (last use) REG NA $80

DefList: {  }
N025 (  7,  6) [000056] DA--G-------              *  STORE_LCL_VAR ubyte (AX) V07 tmp4          NA REG NA
<RefPosition #7   @25  RefTypeUse <Ivl:1 V11> LCL_VAR BB01 regmask=[x0-xip0 x19-x28] minReg=1 last>

Register allocation has an ability to reuse the register having constant value, but in this case, we don't mark the STORE_LCL_VAR node that way. In future, (at least for ARM64, xzr case) we can probably mark such nodes as having constants so we do not create extra mov for a constant value, but at this time I do not want to point fix it but instead think through a general solution.

@echesakov
Copy link
Contributor

@kunalspathak Okay, makes sense. Wonder if it's worth asserting assert(!varTypeIsSmall(type)) since as you explained we don't expect STORE_LCL_VAR containment for small types?

@kunalspathak
Copy link
Member Author

@kunalspathak Okay, makes sense. Wonder if it's worth asserting assert(!varTypeIsSmall(type)) since as you explained we don't expect STORE_LCL_VAR containment for small types?

That won't be the case always. The earlier code before my change was actually marking op1 as contained when varTypeIsSmall(type).

@kunalspathak kunalspathak merged commit 3b2b185 into dotnet:main May 6, 2021
@karelz karelz added this to the 6.0.0 milestone May 20, 2021
@dotnet dotnet locked as resolved and limited conversation to collaborators Jun 19, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants