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

JIT: update optReachable with excluded block check #51842

Merged
merged 1 commit into from Apr 26, 2021

Conversation

AndyAyersMS
Copy link
Member

optReachable is used by the redundant branch optimizer to try and determine
if the successors of some dominating block can reach a target block.

In doing so, we can exclude paths from a successor that must pass
back through the dominating block to reach the target block.

This lets us remove some redundant branches in loops that we were missing
because we over-estimated reachability.

`optReachable` is used by the redundant branch optimizer to try and determine
if the successors of some dominating block can reach a target block.

In doing so, we can exclude paths from a successor that must pass
back through the dominating block to reach the target block.

This lets us remove some redundant branches in loops that we were missing
because we over-estimated reachability.
@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 Apr 25, 2021
@AndyAyersMS
Copy link
Member Author

AndyAyersMS commented Apr 25, 2021

cc @dotnet/jit-contrib

Simple example where this kicks in:

    public static int F(int x)
    {
        int r = 0;
        for (int i = 0; i < 50; i++)
        {
            if (x != 0) continue;
            r++;
            if (x != 0) continue;
            r++;
        }
        
        return r;
    }

Here the jit was unable to prove the second x != 0 was redundant. The flow in this case looks like

image - 2021-04-25T144333 568

[edit: had the wrong graph here initially]

While trying to prove that the branch at D would make the branch at S1 redundant, the jit was considering the path S2 -> D -> S1, and so decided both S1 and S2 could reach S1, and hence the value of x != 0 at S1 was not known.

The fix is to designate D as an excluded block, so that the jit only considers paths that do not pass through D.

A moderate number of diffs, largely improvements. The largest improvements are cases where blocks with some substantial computation (newarr) are now unreachable.

The two largest regressions (see libraries pmi) are case where the RA creates large numbers of compensation blocks.

asm.aspnet.run.windows.x64.checked


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 114615
Total bytes of diff: 114111
Total bytes of delta: -504 (-0.44% of base)
    diff is an improvement.
Detail diffs


Top file regressions (bytes):
           1 : 26476.dasm (0.02% of base)
           1 : 29167.dasm (0.02% of base)

Top file improvements (bytes):
         -40 : 40160.dasm (-2.02% of base)
         -40 : 16026.dasm (-5.28% of base)
         -28 : 21750.dasm (-8.05% of base)
         -28 : 24069.dasm (-8.05% of base)
         -28 : 41797.dasm (-8.05% of base)
         -23 : 40339.dasm (-4.76% of base)
         -20 : 40227.dasm (-3.92% of base)
         -19 : 13856.dasm (-2.47% of base)
         -17 : 24619.dasm (-0.47% of base)
         -16 : 7556.dasm (-4.36% of base)
         -16 : 19154.dasm (-1.51% of base)
         -14 : 21751.dasm (-7.07% of base)
         -14 : 24066.dasm (-7.07% of base)
         -12 : 39060.dasm (-0.71% of base)
         -11 : 13950.dasm (-0.29% of base)
          -9 : 21975.dasm (-0.52% of base)
          -9 : 32204.dasm (-3.06% of base)
          -9 : 24554.dasm (-0.72% of base)
          -9 : 40726.dasm (-0.73% of base)
          -9 : 39025.dasm (-0.54% of base)

47 total files with Code Size differences (45 improved, 2 regressed), 41 unchanged.

Top method regressions (bytes):
           1 ( 0.02% of base) : 26476.dasm - RelationshipDiscoveryConvention:CreateRelationships(IEnumerable`1,IConventionEntityTypeBuilder):this
           1 ( 0.02% of base) : 29167.dasm - RelationshipDiscoveryConvention:CreateRelationships(IEnumerable`1,IConventionEntityTypeBuilder):this

Top method improvements (bytes):
         -40 (-2.02% of base) : 40160.dasm - Expression:ValidateLambdaArgs(Type,byref,ReadOnlyCollection`1,String)
         -40 (-5.28% of base) : 16026.dasm - IPv4AddressHelper:ParseNonCanonical(long,int,byref,bool):long
         -28 (-8.05% of base) : 21750.dasm - PathNormalizer:RemoveDotSegments(long,long):int
         -28 (-8.05% of base) : 24069.dasm - PathNormalizer:RemoveDotSegments(long,long):int
         -28 (-8.05% of base) : 41797.dasm - PathNormalizer:RemoveDotSegments(long,long):int
         -23 (-4.76% of base) : 40339.dasm - LambdaCompiler:AddReturnLabel(LambdaExpression):this
         -20 (-3.92% of base) : 40227.dasm - LambdaCompiler:EmitArguments(MethodBase,IArgumentProvider,int):List`1:this
         -19 (-2.47% of base) : 13856.dasm - IPv4AddressHelper:ParseNonCanonical(long,int,byref,bool):long
         -17 (-0.47% of base) : 24619.dasm - HttpResponseHeaders:CopyToFast(byref):this
         -16 (-4.36% of base) : 7556.dasm - PathNormalizer:RemoveDotSegments(long,long):int
         -16 (-1.51% of base) : 19154.dasm - HttpHeaders:ParseConnection(HttpHeaders):int
         -14 (-7.07% of base) : 21751.dasm - PathNormalizer:ContainsDotSegments(long,long):bool
         -14 (-7.07% of base) : 24066.dasm - PathNormalizer:ContainsDotSegments(long,long):bool
         -12 (-0.71% of base) : 39060.dasm - SignatureHelper:AddOneArgTypeHelperWorker(Type,bool):this
         -11 (-0.29% of base) : 13950.dasm - HttpResponseHeaders:CopyToFast(byref):this
          -9 (-0.52% of base) : 21975.dasm - RuntimeParameterInfo:GetParameters(IRuntimeMethodInfo,MemberInfo,Signature,byref,bool):ref
          -9 (-3.06% of base) : 32204.dasm - ViewBuffer:MoveTo(ViewBuffer):this
          -9 (-0.72% of base) : 24554.dasm - HttpHeaders:ParseConnection(HttpHeaders):int
          -9 (-0.73% of base) : 40726.dasm - HttpHeaders:ParseConnection(HttpHeaders):int
          -9 (-0.54% of base) : 39025.dasm - RuntimeParameterInfo:GetParameters(IRuntimeMethodInfo,MemberInfo,Signature,byref,bool):ref

Top method regressions (percentages):
           1 ( 0.02% of base) : 29167.dasm - RelationshipDiscoveryConvention:CreateRelationships(IEnumerable`1,IConventionEntityTypeBuilder):this
           1 ( 0.02% of base) : 26476.dasm - RelationshipDiscoveryConvention:CreateRelationships(IEnumerable`1,IConventionEntityTypeBuilder):this

Top method improvements (percentages):
         -28 (-8.05% of base) : 21750.dasm - PathNormalizer:RemoveDotSegments(long,long):int
         -28 (-8.05% of base) : 24069.dasm - PathNormalizer:RemoveDotSegments(long,long):int
         -28 (-8.05% of base) : 41797.dasm - PathNormalizer:RemoveDotSegments(long,long):int
         -14 (-7.07% of base) : 21751.dasm - PathNormalizer:ContainsDotSegments(long,long):bool
         -14 (-7.07% of base) : 24066.dasm - PathNormalizer:ContainsDotSegments(long,long):bool
         -40 (-5.28% of base) : 16026.dasm - IPv4AddressHelper:ParseNonCanonical(long,int,byref,bool):long
         -23 (-4.76% of base) : 40339.dasm - LambdaCompiler:AddReturnLabel(LambdaExpression):this
         -16 (-4.36% of base) : 7556.dasm - PathNormalizer:RemoveDotSegments(long,long):int
          -8 (-4.19% of base) : 41798.dasm - PathNormalizer:ContainsDotSegments(long,long):bool
         -20 (-3.92% of base) : 40227.dasm - LambdaCompiler:EmitArguments(MethodBase,IArgumentProvider,int):List`1:this
          -9 (-3.06% of base) : 32204.dasm - ViewBuffer:MoveTo(ViewBuffer):this
          -4 (-2.88% of base) : 24578.dasm - NpgsqlParameterCollection:Clear():this
          -4 (-2.72% of base) : 19088.dasm - NpgsqlParameterCollection:Clear():this
          -4 (-2.63% of base) : 20462.dasm - NpgsqlParameterCollection:Clear():this
         -19 (-2.47% of base) : 13856.dasm - IPv4AddressHelper:ParseNonCanonical(long,int,byref,bool):long
          -4 (-2.42% of base) : 40958.dasm - NpgsqlParameterCollection:Clear():this
         -40 (-2.02% of base) : 40160.dasm - Expression:ValidateLambdaArgs(Type,byref,ReadOnlyCollection`1,String)
         -16 (-1.51% of base) : 19154.dasm - HttpHeaders:ParseConnection(HttpHeaders):int
          -5 (-1.32% of base) : 41066.dasm - ViewBuffer:MoveTo(ViewBuffer):this
          -9 (-1.31% of base) : 16127.dasm - IPv4AddressHelper:ParseNonCanonical(long,int,byref,bool):long

47 total methods with Code Size differences (45 improved, 2 regressed), 41 unchanged.


asm.benchmarks.run.windows.x64.checked


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 110522
Total bytes of diff: 109825
Total bytes of delta: -697 (-0.63% of base)
    diff is an improvement.
Detail diffs


Top file regressions (bytes):
           6 : 3602.dasm (0.07% of base)
           3 : 13827.dasm (0.16% of base)
           1 : 1147.dasm (0.74% of base)

Top file improvements (bytes):
        -456 : 2504.dasm (-4.56% of base)
         -35 : 3374.dasm (-0.67% of base)
         -27 : 18095.dasm (-4.35% of base)
         -26 : 12929.dasm (-1.38% of base)
         -21 : 6429.dasm (-0.20% of base)
         -16 : 613.dasm (-0.61% of base)
         -14 : 8623.dasm (-5.67% of base)
         -13 : 410.dasm (-0.54% of base)
         -13 : 22647.dasm (-2.14% of base)
         -11 : 6787.dasm (-0.26% of base)
          -9 : 9716.dasm (-1.31% of base)
          -8 : 3771.dasm (-0.24% of base)
          -5 : 9901.dasm (-0.14% of base)
          -5 : 22377.dasm (-4.81% of base)
          -5 : 4334.dasm (-1.46% of base)
          -5 : 20226.dasm (-0.51% of base)
          -5 : 13843.dasm (-0.74% of base)
          -5 : 3563.dasm (-0.80% of base)
          -5 : 17923.dasm (-0.35% of base)
          -5 : 3396.dasm (-0.83% of base)

28 total files with Code Size differences (25 improved, 3 regressed), 41 unchanged.

Top method regressions (bytes):
           6 ( 0.07% of base) : 3602.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this
           3 ( 0.16% of base) : 13827.dasm - AssignRect:second_assignments(System.Int32[,],System.Int16[,])
           1 ( 0.74% of base) : 1147.dasm - LinqBenchmarks:Count00ForX():bool:this

Top method improvements (bytes):
        -456 (-4.56% of base) : 2504.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)
         -35 (-0.67% of base) : 3374.dasm - System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this
         -27 (-4.35% of base) : 18095.dasm - NameToSymbolMapBuilder:CreateMap():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.Symbols.NamespaceOrTypeSymbol, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this
         -26 (-1.38% of base) : 12929.dasm - AssignJagged:second_assignments(System.Int32[][],System.Int16[][])
         -21 (-0.20% of base) : 6429.dasm - MessagePack.Internal.ObjectSerializationInfo:CreateOrNull(System.Type,bool,bool,bool):MessagePack.Internal.ObjectSerializationInfo
         -16 (-0.61% of base) : 613.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(long,int,long,int,byref,byref):int
         -14 (-5.67% of base) : 8623.dasm - Jil.Common.Utils:_GetFieldHandles(System.Reflection.MethodInfo):System.Collections.Generic.List`1[Int32]
         -13 (-0.54% of base) : 410.dasm - MemberInfoCache`1[__Canon][System.__Canon]:PopulateProperties(Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.List`1[[System.Reflection.RuntimePropertyInfo, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Boolean[],byref):this
         -13 (-2.14% of base) : 22647.dasm - Benchstone.BenchI.Array2:Bench(int):bool
         -11 (-0.26% of base) : 6787.dasm - ClassDataContractCriticalHelper:ImportDataMembers():this
          -9 (-1.31% of base) : 9716.dasm - System.IPv4AddressHelper:ParseNonCanonical(long,int,byref,bool):long
          -8 (-0.24% of base) : 3771.dasm - System.Xml.XmlTextReaderImpl:ParseXmlDeclaration(bool):bool:this
          -5 (-0.14% of base) : 9901.dasm - <SendWithRetryAsync>d__72:MoveNext():this
          -5 (-4.81% of base) : 22377.dasm - System.Collections.IterateForEach`1[Int32][System.Int32]:List():int:this
          -5 (-1.46% of base) : 4334.dasm - <OfTypeIterator>d__61`1[UInt64][System.UInt64]:MoveNext():bool:this
          -5 (-0.51% of base) : 20226.dasm - System.Xml.Serialization.XmlReflectionImporter:SetArrayMappingType(System.Xml.Serialization.ArrayMapping,System.String,System.Type):this
          -5 (-0.74% of base) : 13843.dasm - JetStream.Hands:playHands(System.Collections.Generic.List`1[[JetStream.Player, MicroBenchmarks, Version=42.42.42.42, Culture=neutral, PublicKeyToken=null]])
          -5 (-0.80% of base) : 3563.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateBegin():this
          -5 (-0.35% of base) : 17923.dasm - ReferenceManager:InitializeNewSymbols(System.Collections.Generic.List`1[Int32],Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol,System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyData[[Microsoft.CodeAnalysis.CSharp.CSharpCompilation, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.AssemblyIdentity, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.CSharp.Symbols.MissingAssemblySymbol, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]])
          -5 (-0.83% of base) : 3396.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateBegin():this

Top method regressions (percentages):
           1 ( 0.74% of base) : 1147.dasm - LinqBenchmarks:Count00ForX():bool:this
           3 ( 0.16% of base) : 13827.dasm - AssignRect:second_assignments(System.Int32[,],System.Int16[,])
           6 ( 0.07% of base) : 3602.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this

Top method improvements (percentages):
         -14 (-5.67% of base) : 8623.dasm - Jil.Common.Utils:_GetFieldHandles(System.Reflection.MethodInfo):System.Collections.Generic.List`1[Int32]
          -5 (-4.81% of base) : 22377.dasm - System.Collections.IterateForEach`1[Int32][System.Int32]:List():int:this
        -456 (-4.56% of base) : 2504.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)
         -27 (-4.35% of base) : 18095.dasm - NameToSymbolMapBuilder:CreateMap():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.Symbols.NamespaceOrTypeSymbol, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this
         -13 (-2.14% of base) : 22647.dasm - Benchstone.BenchI.Array2:Bench(int):bool
          -5 (-1.46% of base) : 4334.dasm - <OfTypeIterator>d__61`1[UInt64][System.UInt64]:MoveNext():bool:this
         -26 (-1.38% of base) : 12929.dasm - AssignJagged:second_assignments(System.Int32[][],System.Int16[][])
          -9 (-1.31% of base) : 9716.dasm - System.IPv4AddressHelper:ParseNonCanonical(long,int,byref,bool):long
          -4 (-0.98% of base) : 24292.dasm - LinqBenchmarks:Where01ForX():bool:this
          -5 (-0.83% of base) : 3396.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateBegin():this
          -5 (-0.80% of base) : 3563.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateBegin():this
          -5 (-0.74% of base) : 13843.dasm - JetStream.Hands:playHands(System.Collections.Generic.List`1[[JetStream.Player, MicroBenchmarks, Version=42.42.42.42, Culture=neutral, PublicKeyToken=null]])
         -35 (-0.67% of base) : 3374.dasm - System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this
         -16 (-0.61% of base) : 613.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(long,int,long,int,byref,byref):int
         -13 (-0.54% of base) : 410.dasm - MemberInfoCache`1[__Canon][System.__Canon]:PopulateProperties(Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.List`1[[System.Reflection.RuntimePropertyInfo, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Boolean[],byref):this
          -5 (-0.51% of base) : 20226.dasm - System.Xml.Serialization.XmlReflectionImporter:SetArrayMappingType(System.Xml.Serialization.ArrayMapping,System.String,System.Type):this
          -5 (-0.44% of base) : 46.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this
          -4 (-0.39% of base) : 12928.dasm - AssignJagged:first_assignments(System.Int32[][],System.Int16[][]):int
          -5 (-0.35% of base) : 17923.dasm - ReferenceManager:InitializeNewSymbols(System.Collections.Generic.List`1[Int32],Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol,System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.CommonReferenceManager`2+AssemblyData[[Microsoft.CodeAnalysis.CSharp.CSharpCompilation, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.CommonReferenceManager`2+BoundInputAssembly[Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol][],System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.AssemblyIdentity, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.CSharp.Symbols.MissingAssemblySymbol, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]])
         -11 (-0.26% of base) : 6787.dasm - ClassDataContractCriticalHelper:ImportDataMembers():this

28 total methods with Code Size differences (25 improved, 3 regressed), 41 unchanged.


asm.libraries.crossgen.windows.x64.checked


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 105905
Total bytes of diff: 105434
Total bytes of delta: -471 (-0.44% of base)
    diff is an improvement.
Detail diffs


Top file regressions (bytes):
          11 : 77787.dasm (0.97% of base)
          10 : 125322.dasm (0.72% of base)

Top file improvements (bytes):
         -63 : 78570.dasm (-1.39% of base)
         -59 : 75731.dasm (-1.30% of base)
         -52 : 105429.dasm (-1.94% of base)
         -39 : 42323.dasm (-2.75% of base)
         -26 : 73699.dasm (-1.38% of base)
         -20 : 163282.dasm (-0.32% of base)
         -17 : 38273.dasm (-5.80% of base)
         -16 : 18980.dasm (-0.60% of base)
         -14 : 105443.dasm (-0.97% of base)
         -14 : 105446.dasm (-1.04% of base)
         -12 : 8642.dasm (-0.50% of base)
         -11 : 94220.dasm (-0.17% of base)
         -11 : 94934.dasm (-0.18% of base)
         -10 : 102056.dasm (-0.46% of base)
          -9 : 102389.dasm (-0.35% of base)
          -9 : 102434.dasm (-0.28% of base)
          -9 : 140223.dasm (-0.37% of base)
          -9 : 125107.dasm (-0.42% of base)
          -9 : 112924.dasm (-0.50% of base)
          -9 : 152051.dasm (-1.32% of base)

36 total files with Code Size differences (34 improved, 2 regressed), 19 unchanged.

Top method regressions (bytes):
          11 ( 0.97% of base) : 77787.dasm - System.Data.Common.DbCommandBuilder:BuildUpdateCommand(System.Data.Common.DataTableMapping,System.Data.DataRow):System.Data.Common.DbCommand:this
          10 ( 0.72% of base) : 125322.dasm - System.Configuration.ConfigurationElement:ParseLockedAttributes(System.Configuration.ConfigurationValue,int):System.Configuration.ConfigurationLockCollection:this

Top method improvements (bytes):
         -63 (-1.39% of base) : 78570.dasm - System.Data.RBTree`1[Int32][System.Int32]:RBDeleteFixup(int,int,int,int):int:this
         -59 (-1.30% of base) : 75731.dasm - System.Data.RBTree`1[__Canon][System.__Canon]:RBDeleteFixup(int,int,int,int):int:this
         -52 (-1.94% of base) : 105429.dasm - System.Text.GB18030Encoding:GetChars(long,int,long,int,System.Text.DecoderNLS):int:this
         -39 (-2.75% of base) : 42323.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceNamedTypeSymbol:AddEnumMembers(Microsoft.CodeAnalysis.VisualBasic.Syntax.EnumBlockSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.DiagnosticBag,MembersAndInitializersBuilder):this
         -26 (-1.38% of base) : 73699.dasm - System.Data.NewDiffgramGen:GenerateTableErrors(System.Data.DataTable):this
         -20 (-0.32% of base) : 163282.dasm - Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[Char],System.Globalization.NumberFormatInfo)
         -17 (-5.80% of base) : 38273.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation:CommonLanguageVersion(System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.SyntaxTree, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):int:this
         -16 (-0.60% of base) : 18980.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(long,int,long,int,byref,byref):int
         -14 (-0.97% of base) : 105443.dasm - System.Text.ISO2022Encoding:GetCharsCP5022xJP(long,int,long,int,ISO2022Decoder):int:this
         -14 (-1.04% of base) : 105446.dasm - System.Text.ISO2022Encoding:GetCharsCP50225KR(long,int,long,int,ISO2022Decoder):int:this
         -12 (-0.50% of base) : 8642.dasm - MemberInfoCache`1[__Canon][System.__Canon]:PopulateProperties(Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.List`1[[System.Reflection.RuntimePropertyInfo, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Boolean[],byref):this
         -11 (-0.17% of base) : 94220.dasm - System.Xml.Schema.Compiler:CompileLocalAttributes(System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaObjectCollection,System.Xml.Schema.XmlSchemaAnyAttribute,int):this
         -11 (-0.18% of base) : 94934.dasm - System.Xml.Schema.SchemaCollectionCompiler:CompileLocalAttributes(System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaObjectCollection,System.Xml.Schema.XmlSchemaAnyAttribute,int):this
         -10 (-0.46% of base) : 102056.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteEnumMethod(System.Xml.Serialization.EnumMapping):this
          -9 (-0.35% of base) : 102389.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteEnumAndArrayTypes():this
          -9 (-0.28% of base) : 102434.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteEnumAndArrayTypes():this
          -9 (-0.37% of base) : 140223.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[Char],System.ReadOnlySpan`1[Char],bool,bool):bool
          -9 (-0.42% of base) : 125107.dasm - System.Configuration.BaseConfigurationRecord:ResolveLocationSections():this
          -9 (-0.50% of base) : 112924.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:ResolveConversion(System.Type,System.Type,System.Collections.Generic.List`1[[Microsoft.VisualBasic.CompilerServices.Symbols+Method, Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],bool,byref):System.Collections.Generic.List`1[[Microsoft.VisualBasic.CompilerServices.Symbols+Method, Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]
          -9 (-1.32% of base) : 152051.dasm - System.IPv4AddressHelper:ParseNonCanonical(long,int,byref,bool):long

Top method regressions (percentages):
          11 ( 0.97% of base) : 77787.dasm - System.Data.Common.DbCommandBuilder:BuildUpdateCommand(System.Data.Common.DataTableMapping,System.Data.DataRow):System.Data.Common.DbCommand:this
          10 ( 0.72% of base) : 125322.dasm - System.Configuration.ConfigurationElement:ParseLockedAttributes(System.Configuration.ConfigurationValue,int):System.Configuration.ConfigurationLockCollection:this

Top method improvements (percentages):
         -17 (-5.80% of base) : 38273.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation:CommonLanguageVersion(System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.SyntaxTree, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):int:this
          -6 (-4.84% of base) : 41801.dasm - Microsoft.CodeAnalysis.VisualBasic.OptionsValidator:IsValidNamespaceName(System.String):bool
          -4 (-2.80% of base) : 25073.dasm - System.Diagnostics.Tracing.ManifestBuilder:TranslateIndexToManifestConvention(int,System.String):int:this
         -39 (-2.75% of base) : 42323.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceNamedTypeSymbol:AddEnumMembers(Microsoft.CodeAnalysis.VisualBasic.Syntax.EnumBlockSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.DiagnosticBag,MembersAndInitializersBuilder):this
         -52 (-1.94% of base) : 105429.dasm - System.Text.GB18030Encoding:GetChars(long,int,long,int,System.Text.DecoderNLS):int:this
          -5 (-1.85% of base) : 97060.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1[__Canon][System.__Canon]:IsExNamespace(System.String):bool:this
          -5 (-1.77% of base) : 147739.dasm - System.Text.SimpleRegex:IsMatchWithStarWildcard(System.ReadOnlySpan`1[Char],System.ReadOnlySpan`1[Char]):bool
         -63 (-1.39% of base) : 78570.dasm - System.Data.RBTree`1[Int32][System.Int32]:RBDeleteFixup(int,int,int,int):int:this
         -26 (-1.38% of base) : 73699.dasm - System.Data.NewDiffgramGen:GenerateTableErrors(System.Data.DataTable):this
          -9 (-1.32% of base) : 152051.dasm - System.IPv4AddressHelper:ParseNonCanonical(long,int,byref,bool):long
         -59 (-1.30% of base) : 75731.dasm - System.Data.RBTree`1[__Canon][System.__Canon]:RBDeleteFixup(int,int,int,int):int:this
          -5 (-1.29% of base) : 75147.dasm - System.Data.DataTable:RecordStateChanged(int,int,int,int,int,int):this
         -14 (-1.04% of base) : 105446.dasm - System.Text.ISO2022Encoding:GetCharsCP50225KR(long,int,long,int,ISO2022Decoder):int:this
         -14 (-0.97% of base) : 105443.dasm - System.Text.ISO2022Encoding:GetCharsCP5022xJP(long,int,long,int,ISO2022Decoder):int:this
          -5 (-0.76% of base) : 41492.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.VisualBasicWarningStateMap:GetAllWarningDirectives(Microsoft.CodeAnalysis.SyntaxTree,Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.DirectiveTriviaSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]])
         -16 (-0.60% of base) : 18980.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(long,int,long,int,byref,byref):int
          -8 (-0.55% of base) : 113491.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]]
         -12 (-0.50% of base) : 8642.dasm - MemberInfoCache`1[__Canon][System.__Canon]:PopulateProperties(Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.List`1[[System.Reflection.RuntimePropertyInfo, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Boolean[],byref):this
          -9 (-0.50% of base) : 112924.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:ResolveConversion(System.Type,System.Type,System.Collections.Generic.List`1[[Microsoft.VisualBasic.CompilerServices.Symbols+Method, Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],bool,byref):System.Collections.Generic.List`1[[Microsoft.VisualBasic.CompilerServices.Symbols+Method, Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]
         -10 (-0.46% of base) : 102056.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteEnumMethod(System.Xml.Serialization.EnumMapping):this

36 total methods with Code Size differences (34 improved, 2 regressed), 19 unchanged.


asm.libraries.crossgen2.windows.x64.checked


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 113049
Total bytes of diff: 112503
Total bytes of delta: -546 (-0.48% of base)
    diff is an improvement.
Detail diffs


Top file regressions (bytes):
          11 : 132273.dasm (0.96% of base)
          10 : 155120.dasm (0.74% of base)

Top file improvements (bytes):
         -63 : 137308.dasm (-1.39% of base)
         -59 : 134318.dasm (-1.30% of base)
         -52 : 60819.dasm (-1.94% of base)
         -27 : 105906.dasm (-2.10% of base)
         -26 : 136294.dasm (-1.38% of base)
         -25 : 105238.dasm (-1.16% of base)
         -24 : 107675.dasm (-1.65% of base)
         -20 : 189491.dasm (-0.32% of base)
         -19 : 91389.dasm (-2.28% of base)
         -19 : 100168.dasm (-4.60% of base)
         -16 : 29425.dasm (-0.60% of base)
         -15 : 100141.dasm (-3.61% of base)
         -14 : 60806.dasm (-0.97% of base)
         -14 : 60803.dasm (-1.04% of base)
         -13 : 39476.dasm (-0.59% of base)
         -13 : 101664.dasm (-0.85% of base)
         -11 : 53319.dasm (-0.18% of base)
         -11 : 54034.dasm (-0.16% of base)
         -10 : 46234.dasm (-0.46% of base)
          -9 : 91390.dasm (-1.31% of base)

38 total files with Code Size differences (36 improved, 2 regressed), 21 unchanged.

Top method regressions (bytes):
          11 ( 0.96% of base) : 132273.dasm - System.Data.Common.DbCommandBuilder:BuildUpdateCommand(System.Data.Common.DataTableMapping,System.Data.DataRow):System.Data.Common.DbCommand:this
          10 ( 0.74% of base) : 155120.dasm - System.Configuration.ConfigurationElement:ParseLockedAttributes(System.Configuration.ConfigurationValue,int):System.Configuration.ConfigurationLockCollection:this

Top method improvements (bytes):
         -63 (-1.39% of base) : 137308.dasm - System.Data.RBTree`1:RBDeleteFixup(int,int,int,int):int:this
         -59 (-1.30% of base) : 134318.dasm - System.Data.RBTree`1:RBDeleteFixup(int,int,int,int):int:this
         -52 (-1.94% of base) : 60819.dasm - System.Text.GB18030Encoding:GetChars(long,int,long,int,System.Text.DecoderNLS):int:this
         -27 (-2.10% of base) : 105906.dasm - Microsoft.CodeAnalysis.VisualBasic.AbstractFlowPass`1:VisitTryStatement(Microsoft.CodeAnalysis.VisualBasic.BoundTryStatement):Microsoft.CodeAnalysis.VisualBasic.BoundNode:this
         -26 (-1.38% of base) : 136294.dasm - System.Data.NewDiffgramGen:GenerateTableErrors(System.Data.DataTable):this
         -25 (-1.16% of base) : 105238.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindLateBoundInvocation(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundMethodOrPropertyGroup,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],Microsoft.CodeAnalysis.DiagnosticBag,bool):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this
         -24 (-1.65% of base) : 107675.dasm - Microsoft.CodeAnalysis.VisualBasic.AbstractFlowPass`1:VisitTryStatement(Microsoft.CodeAnalysis.VisualBasic.BoundTryStatement):Microsoft.CodeAnalysis.VisualBasic.BoundNode:this
         -20 (-0.32% of base) : 189491.dasm - Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[System.Char],System.Globalization.NumberFormatInfo)
         -19 (-2.28% of base) : 91389.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.VisualBasicWarningStateMap:CreateWarningStateEntries(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.DirectiveTriviaSyntax]):Microsoft.CodeAnalysis.Syntax.AbstractWarningStateMap+WarningStateMapEntry[]
         -19 (-4.60% of base) : 100168.dasm - Microsoft.CodeAnalysis.VisualBasic.ClsComplianceChecker:GetDeclaredCompliance(Microsoft.CodeAnalysis.VisualBasic.Symbol,byref):System.Nullable`1[System.Boolean]:this
         -16 (-0.60% of base) : 29425.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(long,int,long,int,byref,byref):int
         -15 (-3.61% of base) : 100141.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation:CommonLanguageVersion(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxTree]):int:this
         -14 (-0.97% of base) : 60806.dasm - System.Text.ISO2022Encoding:GetCharsCP5022xJP(long,int,long,int,System.Text.ISO2022Encoding+ISO2022Decoder):int:this
         -14 (-1.04% of base) : 60803.dasm - System.Text.ISO2022Encoding:GetCharsCP50225KR(long,int,long,int,System.Text.ISO2022Encoding+ISO2022Decoder):int:this
         -13 (-0.59% of base) : 39476.dasm - MemberInfoCache`1:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String, System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Boolean[],byref):this
         -13 (-0.85% of base) : 101664.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceNamedTypeSymbol:ValidateInheritedInterfaces(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InheritsStatementSyntax],System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.DiagnosticBag):this
         -11 (-0.18% of base) : 53319.dasm - System.Xml.Schema.SchemaCollectionCompiler:CompileLocalAttributes(System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaObjectCollection,System.Xml.Schema.XmlSchemaAnyAttribute,int):this
         -11 (-0.16% of base) : 54034.dasm - System.Xml.Schema.Compiler:CompileLocalAttributes(System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaObjectCollection,System.Xml.Schema.XmlSchemaAnyAttribute,int):this
         -10 (-0.46% of base) : 46234.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteEnumMethod(System.Xml.Serialization.EnumMapping):this
          -9 (-1.31% of base) : 91390.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.VisualBasicWarningStateMap:GetAllWarningDirectives(Microsoft.CodeAnalysis.SyntaxTree,Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.DirectiveTriviaSyntax])

Top method regressions (percentages):
          11 ( 0.96% of base) : 132273.dasm - System.Data.Common.DbCommandBuilder:BuildUpdateCommand(System.Data.Common.DataTableMapping,System.Data.DataRow):System.Data.Common.DbCommand:this
          10 ( 0.74% of base) : 155120.dasm - System.Configuration.ConfigurationElement:ParseLockedAttributes(System.Configuration.ConfigurationValue,int):System.Configuration.ConfigurationLockCollection:this

Top method improvements (percentages):
         -19 (-4.60% of base) : 100168.dasm - Microsoft.CodeAnalysis.VisualBasic.ClsComplianceChecker:GetDeclaredCompliance(Microsoft.CodeAnalysis.VisualBasic.Symbol,byref):System.Nullable`1[System.Boolean]:this
         -15 (-3.61% of base) : 100141.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation:CommonLanguageVersion(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxTree]):int:this
          -4 (-2.78% of base) : 23605.dasm - System.Diagnostics.Tracing.ManifestBuilder:TranslateIndexToManifestConvention(int,System.String):int:this
         -19 (-2.28% of base) : 91389.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.VisualBasicWarningStateMap:CreateWarningStateEntries(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.DirectiveTriviaSyntax]):Microsoft.CodeAnalysis.Syntax.AbstractWarningStateMap+WarningStateMapEntry[]
         -27 (-2.10% of base) : 105906.dasm - Microsoft.CodeAnalysis.VisualBasic.AbstractFlowPass`1:VisitTryStatement(Microsoft.CodeAnalysis.VisualBasic.BoundTryStatement):Microsoft.CodeAnalysis.VisualBasic.BoundNode:this
         -52 (-1.94% of base) : 60819.dasm - System.Text.GB18030Encoding:GetChars(long,int,long,int,System.Text.DecoderNLS):int:this
          -5 (-1.84% of base) : 51216.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1:IsExNamespace(System.String):bool:this
         -24 (-1.65% of base) : 107675.dasm - Microsoft.CodeAnalysis.VisualBasic.AbstractFlowPass`1:VisitTryStatement(Microsoft.CodeAnalysis.VisualBasic.BoundTryStatement):Microsoft.CodeAnalysis.VisualBasic.BoundNode:this
         -63 (-1.39% of base) : 137308.dasm - System.Data.RBTree`1:RBDeleteFixup(int,int,int,int):int:this
         -26 (-1.38% of base) : 136294.dasm - System.Data.NewDiffgramGen:GenerateTableErrors(System.Data.DataTable):this
          -9 (-1.31% of base) : 194202.dasm - System.IPv4AddressHelper:ParseNonCanonical(long,int,byref,bool):long
          -9 (-1.31% of base) : 91390.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.VisualBasicWarningStateMap:GetAllWarningDirectives(Microsoft.CodeAnalysis.SyntaxTree,Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.DirectiveTriviaSyntax])
         -59 (-1.30% of base) : 134318.dasm - System.Data.RBTree`1:RBDeleteFixup(int,int,int,int):int:this
          -5 (-1.29% of base) : 134880.dasm - System.Data.DataTable:RecordStateChanged(int,int,int,int,int,int):this
         -25 (-1.16% of base) : 105238.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindLateBoundInvocation(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundMethodOrPropertyGroup,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],Microsoft.CodeAnalysis.DiagnosticBag,bool):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this
         -14 (-1.04% of base) : 60803.dasm - System.Text.ISO2022Encoding:GetCharsCP50225KR(long,int,long,int,System.Text.ISO2022Encoding+ISO2022Decoder):int:this
         -14 (-0.97% of base) : 60806.dasm - System.Text.ISO2022Encoding:GetCharsCP5022xJP(long,int,long,int,System.Text.ISO2022Encoding+ISO2022Decoder):int:this
         -13 (-0.85% of base) : 101664.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceNamedTypeSymbol:ValidateInheritedInterfaces(Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InheritsStatementSyntax],System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.DiagnosticBag):this
         -16 (-0.60% of base) : 29425.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(long,int,long,int,byref,byref):int
         -13 (-0.59% of base) : 39476.dasm - MemberInfoCache`1:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String, System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Boolean[],byref):this

38 total methods with Code Size differences (36 improved, 2 regressed), 21 unchanged.


asm.libraries.pmi.windows.x64.checked


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 589020
Total bytes of diff: 588087
Total bytes of delta: -933 (-0.16% of base)
    diff is an improvement.
Detail diffs


Top file regressions (bytes):
         268 : 49284.dasm (15.10% of base)
         268 : 42327.dasm (15.93% of base)
          29 : 6591.dasm (0.91% of base)
          18 : 47520.dasm (0.53% of base)
          11 : 227232.dasm (0.93% of base)
          10 : 165949.dasm (0.62% of base)
           8 : 61803.dasm (0.93% of base)
           8 : 233185.dasm (0.40% of base)
           6 : 147858.dasm (2.11% of base)
           5 : 56554.dasm (2.22% of base)
           4 : 164690.dasm (0.22% of base)
           4 : 33418.dasm (2.74% of base)
           4 : 165740.dasm (0.17% of base)
           4 : 107560.dasm (0.18% of base)
           4 : 194764.dasm (0.62% of base)
           4 : 210141.dasm (0.58% of base)
           4 : 106238.dasm (0.08% of base)
           4 : 56533.dasm (2.20% of base)
           3 : 135812.dasm (0.07% of base)
           1 : 23687.dasm (0.19% of base)

Top file improvements (bytes):
         -76 : 67520.dasm (-3.47% of base)
         -63 : 108457.dasm (-1.40% of base)
         -59 : 108396.dasm (-1.31% of base)
         -48 : 139090.dasm (-1.86% of base)
         -45 : 100361.dasm (-4.14% of base)
         -39 : 142771.dasm (-1.24% of base)
         -36 : 23078.dasm (-0.14% of base)
         -32 : 134849.dasm (-1.45% of base)
         -30 : 51037.dasm (-1.89% of base)
         -29 : 74716.dasm (-3.46% of base)
         -29 : 174448.dasm (-0.94% of base)
         -28 : 141597.dasm (-1.76% of base)
         -28 : 106227.dasm (-1.28% of base)
         -27 : 44904.dasm (-4.43% of base)
         -27 : 83781.dasm (-4.99% of base)
         -26 : 52848.dasm (-0.07% of base)
         -26 : 47022.dasm (-2.64% of base)
         -26 : 69970.dasm (-2.56% of base)
         -24 : 137656.dasm (-12.24% of base)
         -23 : 135442.dasm (-4.32% of base)

149 total files with Code Size differences (129 improved, 20 regressed), 366 unchanged.

Top method regressions (bytes):
         268 (15.10% of base) : 49284.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.Metadata.PE.MetadataDecoder:SubstituteNoPiaLocalType(byref,bool,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,System.String,System.String,System.String,Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol):Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol
         268 (15.93% of base) : 42327.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.MetadataDecoder:SubstituteNoPiaLocalType(byref,bool,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.String,System.String,System.String,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol):Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol
          29 ( 0.91% of base) : 6591.dasm - <StartupCode$FSharp-Core>.$Quotations:eq@197(Microsoft.FSharp.Quotations.Tree,Microsoft.FSharp.Quotations.Tree):bool
          18 ( 0.53% of base) : 47520.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]]
          11 ( 0.93% of base) : 227232.dasm - Internal.NativeFormat.NativeWriter:Save(System.IO.Stream):this
          10 ( 0.62% of base) : 165949.dasm - System.Configuration.ConfigurationElement:ParseLockedAttributes(System.Configuration.ConfigurationValue,int):System.Configuration.ConfigurationLockCollection:this
           8 ( 0.93% of base) : 61803.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.VisualBasicWarningStateMap:CreateWarningStateEntries(System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.DirectiveTriviaSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):Microsoft.CodeAnalysis.Syntax.AbstractWarningStateMap+WarningStateMapEntry[]
           8 ( 0.40% of base) : 233185.dasm - Xunit.Sdk.TestCaseDescriptorFactory:.ctor(System.Object,System.Object,System.Object):this
           6 ( 2.11% of base) : 147858.dasm - <>c:<GetStringValue>b__19_2(System.Span`1[Char],System.String[]):this
           5 ( 2.22% of base) : 56554.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.VisualBasicSyntaxNode:CollectConstituentTokensAndDiagnostics(Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxListBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Generic.IList`1[[Microsoft.CodeAnalysis.DiagnosticInfo, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):this
           4 ( 0.22% of base) : 164690.dasm - System.Composition.Convention.PartConventionBuilder:BuildTypeAttributes(System.Type):System.Collections.Generic.IEnumerable`1[[System.Attribute, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]:this
           4 ( 2.74% of base) : 33418.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CSharpSyntaxNode:ApplyDirectives(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:this
           4 ( 0.17% of base) : 165740.dasm - System.Configuration.BaseConfigurationRecord:ResolveLocationSections():this
           4 ( 0.18% of base) : 107560.dasm - System.Data.DataTable:EvaluateDependentExpressions(System.Collections.Generic.List`1[[System.Data.DataColumn, System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],System.Data.DataRow,int,System.Collections.Generic.List`1[[System.Data.DataRow, System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]):this
           4 ( 0.62% of base) : 194764.dasm - System.Net.Http.Headers.HttpHeaders:RemoveParsedValue(System.Net.Http.Headers.HeaderDescriptor,System.Object):bool:this
           4 ( 0.58% of base) : 210141.dasm - System.Security.Claims.ClaimsIdentity:WriteTo(System.IO.BinaryWriter,System.Byte[]):this
           4 ( 0.08% of base) : 106238.dasm - System.Data.XmlDataTreeWriter:XmlDataRowWriter(System.Data.DataRow,System.String):this
           4 ( 2.20% of base) : 56533.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.VisualBasicSyntaxNode:AddSyntaxErrors(System.Collections.Generic.List`1[[Microsoft.CodeAnalysis.DiagnosticInfo, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):this
           3 ( 0.07% of base) : 135812.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this
           1 ( 0.19% of base) : 23687.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetBasesBeingResolved(Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax):Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.CSharp.Symbol, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this

Top method improvements (bytes):
         -76 (-3.47% of base) : 67520.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode:DoGetSyntaxErrors(Microsoft.CodeAnalysis.SyntaxTree,Microsoft.CodeAnalysis.SyntaxNodeOrToken):System.Collections.ObjectModel.ReadOnlyCollection`1[[Microsoft.CodeAnalysis.Diagnostic, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]
         -63 (-1.40% of base) : 108457.dasm - System.Data.RBTree`1[Byte][System.Byte]:RBDeleteFixup(int,int,int,int):int:this
         -59 (-1.31% of base) : 108396.dasm - System.Data.RBTree`1[__Canon][System.__Canon]:RBDeleteFixup(int,int,int,int):int:this
         -48 (-1.86% of base) : 139090.dasm - System.Text.GB18030Encoding:GetChars(long,int,long,int,System.Text.DecoderNLS):int:this
         -45 (-4.14% of base) : 100361.dasm - Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC:GetFreeListEfficiency(System.Collections.Generic.List`1[[Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC, Microsoft.Diagnostics.Tracing.TraceEvent, Version=2.0.65.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC):Microsoft.Diagnostics.Tracing.Analysis.GC.FreeListEfficiency
         -39 (-1.24% of base) : 142771.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:AdjustCallArgumentsForParams(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,byref):this
         -36 (-0.14% of base) : 23078.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
         -32 (-1.45% of base) : 134849.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:GenerateMembersElement(System.Object,System.Xml.Serialization.XmlMembersMapping):this
         -30 (-1.89% of base) : 51037.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceFile:BindImports(Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.ImportsStatementSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.DiagnosticBag,byref,byref,byref,byref,System.Threading.CancellationToken,System.Nullable`1[TextSpan])
         -29 (-3.46% of base) : 74716.dasm - Microsoft.CodeAnalysis.AssemblyPortabilityPolicy:LoadFromXml(System.IO.Stream):Microsoft.CodeAnalysis.AssemblyPortabilityPolicy
         -29 (-0.94% of base) : 174448.dasm - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):System.Byte[]
         -28 (-1.76% of base) : 141597.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:GetLiveSlotsAtSafepoints(System.Byte[],byref):System.Collections.Generic.List`1[[System.Collections.Generic.List`1[[ILCompiler.Reflection.ReadyToRun.BaseGcSlot, ILCompiler.Reflection.ReadyToRun, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]:this
         -28 (-1.28% of base) : 106227.dasm - System.Data.NewDiffgramGen:GenerateTableErrors(System.Data.DataTable):this
         -27 (-4.43% of base) : 44904.dasm - NameToSymbolMapBuilder:CreateMap():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.Symbols.NamespaceOrTypeSymbol, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this
         -27 (-4.99% of base) : 83781.dasm - Microsoft.Diagnostics.Tracing.EventPipe.EventCache:SortAndDispatch(long):this
         -26 (-0.07% of base) : 52848.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
         -26 (-2.64% of base) : 47022.dasm - Microsoft.CodeAnalysis.VisualBasic.DataFlowPass:SetSlotUnassigned(int):this
         -26 (-2.56% of base) : 69970.dasm - MemberLookup:MergeInterfaceLookupResults(Microsoft.CodeAnalysis.VisualBasic.LookupResult,Microsoft.CodeAnalysis.VisualBasic.LookupResult,Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.VisualBasic.Symbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Nullable`1[Boolean],byref)
         -24 (-12.24% of base) : 137656.dasm - System.Speech.Internal.StringBlob:FromOffset(int):System.String:this
         -23 (-4.32% of base) : 135442.dasm - System.Xml.Serialization.XmlSchemaExporter:ExportRootIfNecessary(System.Xml.Serialization.TypeScope):this

Top method regressions (percentages):
         268 (15.93% of base) : 42327.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.MetadataDecoder:SubstituteNoPiaLocalType(byref,bool,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.String,System.String,System.String,Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol):Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol
         268 (15.10% of base) : 49284.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.Metadata.PE.MetadataDecoder:SubstituteNoPiaLocalType(byref,bool,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,System.String,System.String,System.String,Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol):Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol
           4 ( 2.74% of base) : 33418.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CSharpSyntaxNode:ApplyDirectives(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack:this
           5 ( 2.22% of base) : 56554.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.VisualBasicSyntaxNode:CollectConstituentTokensAndDiagnostics(Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxListBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Generic.IList`1[[Microsoft.CodeAnalysis.DiagnosticInfo, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):this
           4 ( 2.20% of base) : 56533.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.VisualBasicSyntaxNode:AddSyntaxErrors(System.Collections.Generic.List`1[[Microsoft.CodeAnalysis.DiagnosticInfo, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):this
           6 ( 2.11% of base) : 147858.dasm - <>c:<GetStringValue>b__19_2(System.Span`1[Char],System.String[]):this
           8 ( 0.93% of base) : 61803.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.VisualBasicWarningStateMap:CreateWarningStateEntries(System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.DirectiveTriviaSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):Microsoft.CodeAnalysis.Syntax.AbstractWarningStateMap+WarningStateMapEntry[]
          11 ( 0.93% of base) : 227232.dasm - Internal.NativeFormat.NativeWriter:Save(System.IO.Stream):this
          29 ( 0.91% of base) : 6591.dasm - <StartupCode$FSharp-Core>.$Quotations:eq@197(Microsoft.FSharp.Quotations.Tree,Microsoft.FSharp.Quotations.Tree):bool
          10 ( 0.62% of base) : 165949.dasm - System.Configuration.ConfigurationElement:ParseLockedAttributes(System.Configuration.ConfigurationValue,int):System.Configuration.ConfigurationLockCollection:this
           4 ( 0.62% of base) : 194764.dasm - System.Net.Http.Headers.HttpHeaders:RemoveParsedValue(System.Net.Http.Headers.HeaderDescriptor,System.Object):bool:this
           4 ( 0.58% of base) : 210141.dasm - System.Security.Claims.ClaimsIdentity:WriteTo(System.IO.BinaryWriter,System.Byte[]):this
          18 ( 0.53% of base) : 47520.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]]
           8 ( 0.40% of base) : 233185.dasm - Xunit.Sdk.TestCaseDescriptorFactory:.ctor(System.Object,System.Object,System.Object):this
           4 ( 0.22% of base) : 164690.dasm - System.Composition.Convention.PartConventionBuilder:BuildTypeAttributes(System.Type):System.Collections.Generic.IEnumerable`1[[System.Attribute, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]:this
           1 ( 0.19% of base) : 23687.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetBasesBeingResolved(Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax):Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.CSharp.Symbol, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
           4 ( 0.18% of base) : 107560.dasm - System.Data.DataTable:EvaluateDependentExpressions(System.Collections.Generic.List`1[[System.Data.DataColumn, System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],System.Data.DataRow,int,System.Collections.Generic.List`1[[System.Data.DataRow, System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]):this
           4 ( 0.17% of base) : 165740.dasm - System.Configuration.BaseConfigurationRecord:ResolveLocationSections():this
           4 ( 0.08% of base) : 106238.dasm - System.Data.XmlDataTreeWriter:XmlDataRowWriter(System.Data.DataRow,System.String):this
           3 ( 0.07% of base) : 135812.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this

Top method improvements (percentages):
         -24 (-12.24% of base) : 137656.dasm - System.Speech.Internal.StringBlob:FromOffset(int):System.String:this
         -20 (-9.57% of base) : 110742.dasm - System.Data.Common.DbDataAdapter:UpdatedRowStatusContinue(System.Data.Common.RowUpdatedEventArgs,System.Data.Common.DbDataAdapter+BatchCommandInfo[],int):int:this
         -10 (-7.58% of base) : 194015.dasm - System.Net.Http.HttpConnectionPool:TransferConnection(System.Net.Http.HttpConnection):bool:this
         -17 (-5.35% of base) : 53093.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation:CommonLanguageVersion(System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.SyntaxTree, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):int:this
         -27 (-4.99% of base) : 83781.dasm - Microsoft.Diagnostics.Tracing.EventPipe.EventCache:SortAndDispatch(long):this
         -20 (-4.94% of base) : 78137.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor:ExecuteSyntaxNodeActions(System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Generic.IDictionary`2[[System.Byte, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.Diagnostics.SyntaxNodeAnalyzerAction`1[[System.Byte, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],Microsoft.CodeAnalysis.SemanticModel,System.Func`2[[Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Byte, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Action`1[[Microsoft.CodeAnalysis.Diagnostic, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],SyntaxNodeAnalyzerStateData):this
         -27 (-4.43% of base) : 44904.dasm - NameToSymbolMapBuilder:CreateMap():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.Symbols.NamespaceOrTypeSymbol, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this
         -23 (-4.32% of base) : 135442.dasm - System.Xml.Serialization.XmlSchemaExporter:ExportRootIfNecessary(System.Xml.Serialization.TypeScope):this
         -10 (-4.29% of base) : 107410.dasm - System.Data.DataSet:FindTable(System.Data.DataTable,System.ComponentModel.PropertyDescriptor[],int):System.Data.DataTable:this
         -45 (-4.14% of base) : 100361.dasm - Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC:GetFreeListEfficiency(System.Collections.Generic.List`1[[Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC, Microsoft.Diagnostics.Tracing.TraceEvent, Version=2.0.65.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC):Microsoft.Diagnostics.Tracing.Analysis.GC.FreeListEfficiency
          -5 (-3.88% of base) : 53130.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicPreprocessingSymbolInfo:Equals(System.Object):bool:this
         -76 (-3.47% of base) : 67520.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode:DoGetSyntaxErrors(Microsoft.CodeAnalysis.SyntaxTree,Microsoft.CodeAnalysis.SyntaxNodeOrToken):System.Collections.ObjectModel.ReadOnlyCollection`1[[Microsoft.CodeAnalysis.Diagnostic, Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]
         -29 (-3.46% of base) : 74716.dasm - Microsoft.CodeAnalysis.AssemblyPortabilityPolicy:LoadFromXml(System.IO.Stream):Microsoft.CodeAnalysis.AssemblyPortabilityPolicy
          -4 (-3.36% of base) : 83474.dasm - Microsoft.Diagnostics.Tracing.StackSources.BlockedTimeAnalyzer:get_TotalBlockedTime():double:this
          -9 (-3.36% of base) : 130552.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1[__Canon][System.__Canon]:IsExNamespace(System.String):bool:this
          -9 (-3.36% of base) : 130578.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1[Byte][System.Byte]:IsExNamespace(System.String):bool:this
          -5 (-2.81% of base) : 142760.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:FindNamedArgumentsType(Microsoft.CSharp.RuntimeBinder.Semantics.Expr):int
          -5 (-2.76% of base) : 67288.dasm - Microsoft.CodeAnalysis.VisualBasic.SyntaxFactory:NodesAreCorrectType(Microsoft.CodeAnalysis.SyntaxNodeOrTokenList):bool
          -5 (-2.72% of base) : 27992.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFactory:NodesAreCorrectType(Microsoft.CodeAnalysis.SyntaxNodeOrTokenList):bool
          -5 (-2.66% of base) : 163638.dasm - System.ComponentModel.TypeDescriptor:set_ComNativeDescriptorHandler(System.ComponentModel.IComNativeDescriptorHandler)

149 total methods with Code Size differences (129 improved, 20 regressed), 366 unchanged.


asm.tests.pmi.windows.x64.checked


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 107192
Total bytes of diff: 105763
Total bytes of delta: -1429 (-1.33% of base)
    diff is an improvement.
Detail diffs


Top file regressions (bytes):
           4 : 242414.dasm (1.80% of base)
           4 : 217097.dasm (0.22% of base)
           3 : 191117.dasm (0.16% of base)

Top file improvements (bytes):
        -310 : 167469.dasm (-1.41% of base)
        -243 : 244274.dasm (-9.49% of base)
        -243 : 244265.dasm (-9.49% of base)
        -154 : 244248.dasm (-5.71% of base)
        -153 : 244257.dasm (-3.14% of base)
         -39 : 235178.dasm (-2.17% of base)
         -39 : 241187.dasm (-5.02% of base)
         -31 : 250088.dasm (-9.20% of base)
         -26 : 235181.dasm (-1.53% of base)
         -26 : 191107.dasm (-1.38% of base)
         -17 : 167488.dasm (-0.75% of base)
         -16 : 217480.dasm (-0.07% of base)
         -16 : 81075.dasm (-15.69% of base)
         -13 : 247582.dasm (-2.14% of base)
          -9 : 221331.dasm (-2.09% of base)
          -9 : 216715.dasm (-2.21% of base)
          -9 : 221307.dasm (-2.09% of base)
          -6 : 231305.dasm (-0.37% of base)
          -6 : 81079.dasm (-5.22% of base)
          -5 : 166386.dasm (-2.19% of base)

39 total files with Code Size differences (36 improved, 3 regressed), 38 unchanged.

Top method regressions (bytes):
           4 ( 1.80% of base) : 242414.dasm - AA:Static4():System.Int16[]
           4 ( 0.22% of base) : 217097.dasm - Span.IndexerBench:Main(System.String[]):int
           3 ( 0.16% of base) : 191117.dasm - AssignRect:second_assignments(System.Int32[,],System.Int16[,])

Top method improvements (bytes):
        -310 (-1.41% of base) : 167469.dasm - ReliabilityConfig:GetTestsToRun(System.String):this
        -243 (-9.49% of base) : 244274.dasm - structarr:gaussj(MatrixStruct,int,MatrixStruct,int)
        -243 (-9.49% of base) : 244265.dasm - plainarr:gaussj(System.Double[,],int,System.Double[,],int)
        -154 (-5.71% of base) : 244248.dasm - classarr:gaussj(MatrixCls,int,MatrixCls,int)
        -153 (-3.14% of base) : 244257.dasm - jaggedarr:gaussj(System.Double[,][],int,System.Double[,][],int)
         -39 (-2.17% of base) : 235178.dasm - string1:ProcessJagged2DArray(byref)
         -39 (-5.02% of base) : 241187.dasm - BB:Static1(System.Double[,,][],byref,int,byref)
         -31 (-9.20% of base) : 250088.dasm - Program:Test(System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.String,int,long):int
         -26 (-1.53% of base) : 235181.dasm - string1:ProcessJagged3DArray(System.String[][])
         -26 (-1.38% of base) : 191107.dasm - AssignJagged:second_assignments(System.Int32[][],System.Int16[][])
         -17 (-0.75% of base) : 167488.dasm - ReliabilityFramework:TestStarter():this
         -16 (-0.07% of base) : 217480.dasm - DefaultNamespace.cb6054ToByte_all:runTest():bool:this
         -16 (-15.69% of base) : 81075.dasm - Test.AA:Method1(bool)
         -13 (-2.14% of base) : 247582.dasm - Benchstone.BenchI.Array2:Bench(int):bool
          -9 (-2.09% of base) : 221331.dasm - PartialCompactionTest.PartialCompactionTest:UpdateReferences()
          -9 (-2.21% of base) : 216715.dasm - LinqBenchmarks:Where01For():bool:this
          -9 (-2.09% of base) : 221307.dasm - PartialCompactionTest.PartialCompactionTest:UpdateReferences()
          -6 (-0.37% of base) : 231305.dasm - PinStress.PinStress:Main(System.String[]):int
          -6 (-5.22% of base) : 81079.dasm - Test.AA:Method1(byref)
          -5 (-2.19% of base) : 166386.dasm - Internal.TypeSystem.TypeSystemHelpers:FindMethodOnTypeWithMatchingTypicalMethod(Internal.TypeSystem.TypeDesc,Internal.TypeSystem.MethodDesc):Internal.TypeSystem.MethodDesc

Top method regressions (percentages):
           4 ( 1.80% of base) : 242414.dasm - AA:Static4():System.Int16[]
           4 ( 0.22% of base) : 217097.dasm - Span.IndexerBench:Main(System.String[]):int
           3 ( 0.16% of base) : 191117.dasm - AssignRect:second_assignments(System.Int32[,],System.Int16[,])

Top method improvements (percentages):
         -16 (-15.69% of base) : 81075.dasm - Test.AA:Method1(bool)
        -243 (-9.49% of base) : 244274.dasm - structarr:gaussj(MatrixStruct,int,MatrixStruct,int)
        -243 (-9.49% of base) : 244265.dasm - plainarr:gaussj(System.Double[,],int,System.Double[,],int)
         -31 (-9.20% of base) : 250088.dasm - Program:Test(System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.String,int,long):int
        -154 (-5.71% of base) : 244248.dasm - classarr:gaussj(MatrixCls,int,MatrixCls,int)
          -6 (-5.22% of base) : 81079.dasm - Test.AA:Method1(byref)
         -39 (-5.02% of base) : 241187.dasm - BB:Static1(System.Double[,,][],byref,int,byref)
          -5 (-3.94% of base) : 191595.dasm - ABIStress.SysVAbi:ApproximateArgStackAreaSize(System.Collections.Generic.List`1[[ABIStress.TypeEx, pinvokes_do, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]):int:this
          -5 (-3.94% of base) : 191588.dasm - ABIStress.Win86Abi:ApproximateArgStackAreaSize(System.Collections.Generic.List`1[[ABIStress.TypeEx, pinvokes_do, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]):int:this
          -5 (-3.82% of base) : 216720.dasm - LinqBenchmarks:Count00For():bool:this
        -153 (-3.14% of base) : 244257.dasm - jaggedarr:gaussj(System.Double[,][],int,System.Double[,][],int)
          -9 (-2.21% of base) : 216715.dasm - LinqBenchmarks:Where01For():bool:this
          -5 (-2.19% of base) : 166386.dasm - Internal.TypeSystem.TypeSystemHelpers:FindMethodOnTypeWithMatchingTypicalMethod(Internal.TypeSystem.TypeDesc,Internal.TypeSystem.MethodDesc):Internal.TypeSystem.MethodDesc
         -39 (-2.17% of base) : 235178.dasm - string1:ProcessJagged2DArray(byref)
         -13 (-2.14% of base) : 247582.dasm - Benchstone.BenchI.Array2:Bench(int):bool
          -9 (-2.09% of base) : 221331.dasm - PartialCompactionTest.PartialCompactionTest:UpdateReferences()
          -9 (-2.09% of base) : 221307.dasm - PartialCompactionTest.PartialCompactionTest:UpdateReferences()
          -5 (-1.60% of base) : 221337.dasm - PartialCompactionTest.PartialCompactionTest:AddRefFrom(System.Object)
          -5 (-1.60% of base) : 221317.dasm - PartialCompactionTest.PartialCompactionTest:AddRefTo(System.Object)
          -5 (-1.60% of base) : 221316.dasm - PartialCompactionTest.PartialCompactionTest:AddRefFrom(System.Object)

39 total methods with Code Size differences (36 improved, 3 regressed), 38 unchanged.


asm.tests_libraries.pmi.windows.x64.checked


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 521536
Total bytes of diff: 519828
Total bytes of delta: -1708 (-0.33% of base)
    diff is an improvement.
Detail diffs


Top file regressions (bytes):
          77 : 188550.dasm (8.52% of base)
          50 : 188519.dasm (7.24% of base)
          50 : 189070.dasm (7.24% of base)
          27 : 188511.dasm (9.15% of base)
          27 : 189062.dasm (9.15% of base)
          22 : 187763.dasm (0.50% of base)
          20 : 189552.dasm (6.69% of base)
          20 : 188937.dasm (6.69% of base)
           8 : 128992.dasm (1.04% of base)
           7 : 187898.dasm (0.38% of base)
           7 : 121278.dasm (0.22% of base)
           6 : 21392.dasm (0.09% of base)
           4 : 130012.dasm (0.27% of base)
           4 : 3931.dasm (0.19% of base)
           4 : 3962.dasm (0.19% of base)
           4 : 117659.dasm (0.34% of base)
           4 : 262127.dasm (0.91% of base)
           4 : 195130.dasm (0.62% of base)
           3 : 104070.dasm (0.45% of base)
           2 : 151318.dasm (0.30% of base)

Top file improvements (bytes):
        -146 : 103679.dasm (-2.93% of base)
         -72 : 125511.dasm (-2.44% of base)
         -70 : 209265.dasm (-2.59% of base)
         -58 : 119164.dasm (-10.53% of base)
         -58 : 6035.dasm (-10.53% of base)
         -58 : 118003.dasm (-10.53% of base)
         -46 : 244956.dasm (-2.49% of base)
         -46 : 240550.dasm (-2.49% of base)
         -40 : 240580.dasm (-0.82% of base)
         -40 : 244986.dasm (-0.82% of base)
         -36 : 228027.dasm (-4.34% of base)
         -36 : 200230.dasm (-4.34% of base)
         -36 : 229695.dasm (-4.34% of base)
         -36 : 144579.dasm (-4.34% of base)
         -36 : 272586.dasm (-4.34% of base)
         -36 : 63204.dasm (-4.34% of base)
         -36 : 292085.dasm (-4.34% of base)
         -36 : 293413.dasm (-4.34% of base)
         -36 : 294554.dasm (-4.34% of base)
         -36 : 157129.dasm (-4.34% of base)

141 total files with Code Size differences (117 improved, 24 regressed), 429 unchanged.

Top method regressions (bytes):
          77 ( 8.52% of base) : 188550.dasm - System.SpanTests.ReadOnlySpanTests:SequenceEqualNoMatch(int)
          50 ( 7.24% of base) : 188519.dasm - System.SpanTests.ReadOnlySpanTests:StartsWithNoMatch()
          50 ( 7.24% of base) : 189070.dasm - System.SpanTests.SpanTests:StartsWithNoMatch()
          27 ( 9.15% of base) : 188511.dasm - System.SpanTests.ReadOnlySpanTests:StartsWithNoMatch_Long()
          27 ( 9.15% of base) : 189062.dasm - System.SpanTests.SpanTests:StartsWithNoMatch_Long()
          22 ( 0.50% of base) : 187763.dasm - System.MemoryTests.MemoryTests:MemoryExtensionsTest()
          20 ( 6.69% of base) : 189552.dasm - System.SpanTests.SpanTests:EndsWithNoMatch_Long()
          20 ( 6.69% of base) : 188937.dasm - System.SpanTests.ReadOnlySpanTests:EndsWithNoMatch_Long()
           8 ( 1.04% of base) : 128992.dasm - Microsoft.Diagnostics.Runtime.Desktop.DesktopStaticField:TryBuildType(Microsoft.Diagnostics.Runtime.ClrHeap):Microsoft.Diagnostics.Runtime.ClrType:this
           7 ( 0.38% of base) : 187898.dasm - System.MemoryTests.MemoryPoolTests:EachRentalIsUniqueUntilDisposed()
           7 ( 0.22% of base) : 121278.dasm - Microsoft.CodeAnalysis.CSharp.ReplaceDiscardDeclarationsWithAssignments.CSharpReplaceDiscardDeclarationsWithAssignmentsService:ReplaceAsync(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SemanticModel,Microsoft.CodeAnalysis.Workspace,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[[Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis, Version=3.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
           6 ( 0.09% of base) : 21392.dasm - <CreateIndexAsync>d__21:MoveNext():this
           4 ( 0.27% of base) : 130012.dasm - Microsoft.Diagnostics.Runtime.Utilities.DefaultSymbolLocator:FindBinary(System.String,int,int,bool):System.String:this
           4 ( 0.19% of base) : 3931.dasm - Microsoft.Build.BackEnd.BuildRequestEngine:<CleanupForBuild>b__38_0():this
           4 ( 0.19% of base) : 3962.dasm - Microsoft.Build.BackEnd.BuildRequestEngine:EvaluateRequestStates():this
           4 ( 0.34% of base) : 117659.dasm - Microsoft.Build.Tasks.Deployment.Bootstrapper.BootstrapperBuilder:GetOutputFolders(System.String[],System.String,System.String,int):System.String[]:this
           4 ( 0.91% of base) : 262127.dasm - Emitter:GenType(LoggerClass):this
           4 ( 0.62% of base) : 195130.dasm - System.Net.Http.Headers.HttpHeaders:RemoveParsedValue(System.Net.Http.Headers.HeaderDescriptor,System.Object):bool:this
           3 ( 0.45% of base) : 104070.dasm - DryIoc.Made:GetArgServiceDetails(System.Linq.Expressions.Expression,System.Linq.Expressions.MethodCallExpression,System.Type,int,System.Object):DryIoc.ServiceDetails
           2 ( 0.30% of base) : 151318.dasm - System.ComponentModel.Composition.CompositionResultTest:MergeResult_ResultWithErrorsAsResultArgument_ShouldReturnResultWithCombinedErrors():this

Top method improvements (bytes):
        -146 (-2.93% of base) : 103679.dasm - FastExpressionCompiler.LightExpression.ExpressionCompiler:TryCollectBoundConstants(byref,FastExpressionCompiler.LightExpression.Expression,System.Collections.Generic.IReadOnlyList`1[[FastExpressionCompiler.LightExpression.ParameterExpression, DryIoc, Version=4.1.4.0, Culture=neutral, PublicKeyToken=dfbf2bd50fcf7768]],bool,byref):bool
         -72 (-2.44% of base) : 125511.dasm - Microsoft.CodeAnalysis.VisualBasic.Extensions.SyntaxTreeExtensions:FindTriviaToLeft(Microsoft.CodeAnalysis.SyntaxNodeOrToken,int):Microsoft.CodeAnalysis.SyntaxTrivia
         -70 (-2.59% of base) : 209265.dasm - System.Tests.ConvertTestBase`1[__Canon][System.__Canon]:Verify(System.Func`2[__Canon,__Canon],System.__Canon[],System.__Canon[]):this
         -58 (-10.53% of base) : 119164.dasm - Microsoft.Build.Shared.FileUtilities:ContainsRelativePathSegments(System.String):bool
         -58 (-10.53% of base) : 6035.dasm - Microsoft.Build.Shared.FileUtilities:ContainsRelativePathSegments(System.String):bool
         -58 (-10.53% of base) : 118003.dasm - Microsoft.Build.Shared.FileUtilities:ContainsRelativePathSegments(System.String):bool
         -46 (-2.49% of base) : 244956.dasm - System.Data.SqlClient.SqlCommand:BuildParamList(System.Data.SqlClient.TdsParser,System.Data.SqlClient.SqlParameterCollection):System.String:this
         -46 (-2.49% of base) : 240550.dasm - System.Data.SqlClient.SqlCommand:BuildParamList(System.Data.SqlClient.TdsParser,System.Data.SqlClient.SqlParameterCollection):System.String:this
         -40 (-0.82% of base) : 240580.dasm - System.Data.SqlClient.SqlCommand:DeriveParameters():this
         -40 (-0.82% of base) : 244986.dasm - System.Data.SqlClient.SqlCommand:DeriveParameters():this
         -36 (-4.34% of base) : 228027.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 200230.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 229695.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 144579.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 272586.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 63204.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 292085.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 293413.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 294554.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 157129.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this

Top method regressions (percentages):
          27 ( 9.15% of base) : 188511.dasm - System.SpanTests.ReadOnlySpanTests:StartsWithNoMatch_Long()
          27 ( 9.15% of base) : 189062.dasm - System.SpanTests.SpanTests:StartsWithNoMatch_Long()
          77 ( 8.52% of base) : 188550.dasm - System.SpanTests.ReadOnlySpanTests:SequenceEqualNoMatch(int)
          50 ( 7.24% of base) : 188519.dasm - System.SpanTests.ReadOnlySpanTests:StartsWithNoMatch()
          50 ( 7.24% of base) : 189070.dasm - System.SpanTests.SpanTests:StartsWithNoMatch()
          20 ( 6.69% of base) : 189552.dasm - System.SpanTests.SpanTests:EndsWithNoMatch_Long()
          20 ( 6.69% of base) : 188937.dasm - System.SpanTests.ReadOnlySpanTests:EndsWithNoMatch_Long()
           8 ( 1.04% of base) : 128992.dasm - Microsoft.Diagnostics.Runtime.Desktop.DesktopStaticField:TryBuildType(Microsoft.Diagnostics.Runtime.ClrHeap):Microsoft.Diagnostics.Runtime.ClrType:this
           4 ( 0.91% of base) : 262127.dasm - Emitter:GenType(LoggerClass):this
           4 ( 0.62% of base) : 195130.dasm - System.Net.Http.Headers.HttpHeaders:RemoveParsedValue(System.Net.Http.Headers.HeaderDescriptor,System.Object):bool:this
          22 ( 0.50% of base) : 187763.dasm - System.MemoryTests.MemoryTests:MemoryExtensionsTest()
           3 ( 0.45% of base) : 104070.dasm - DryIoc.Made:GetArgServiceDetails(System.Linq.Expressions.Expression,System.Linq.Expressions.MethodCallExpression,System.Type,int,System.Object):DryIoc.ServiceDetails
           7 ( 0.38% of base) : 187898.dasm - System.MemoryTests.MemoryPoolTests:EachRentalIsUniqueUntilDisposed()
           4 ( 0.34% of base) : 117659.dasm - Microsoft.Build.Tasks.Deployment.Bootstrapper.BootstrapperBuilder:GetOutputFolders(System.String[],System.String,System.String,int):System.String[]:this
           2 ( 0.30% of base) : 151318.dasm - System.ComponentModel.Composition.CompositionResultTest:MergeResult_ResultWithErrorsAsResultArgument_ShouldReturnResultWithCombinedErrors():this
           1 ( 0.29% of base) : 188620.dasm - System.SpanTests.ReadOnlySpanTests:SequenceCompareToWithSingleMismatch_Bool()
           4 ( 0.27% of base) : 130012.dasm - Microsoft.Diagnostics.Runtime.Utilities.DefaultSymbolLocator:FindBinary(System.String,int,int,bool):System.String:this
           7 ( 0.22% of base) : 121278.dasm - Microsoft.CodeAnalysis.CSharp.ReplaceDiscardDeclarationsWithAssignments.CSharpReplaceDiscardDeclarationsWithAssignmentsService:ReplaceAsync(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SemanticModel,Microsoft.CodeAnalysis.Workspace,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[[Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis, Version=3.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
           4 ( 0.19% of base) : 3931.dasm - Microsoft.Build.BackEnd.BuildRequestEngine:<CleanupForBuild>b__38_0():this
           4 ( 0.19% of base) : 3962.dasm - Microsoft.Build.BackEnd.BuildRequestEngine:EvaluateRequestStates():this

Top method improvements (percentages):
         -58 (-10.53% of base) : 119164.dasm - Microsoft.Build.Shared.FileUtilities:ContainsRelativePathSegments(System.String):bool
         -58 (-10.53% of base) : 6035.dasm - Microsoft.Build.Shared.FileUtilities:ContainsRelativePathSegments(System.String):bool
         -58 (-10.53% of base) : 118003.dasm - Microsoft.Build.Shared.FileUtilities:ContainsRelativePathSegments(System.String):bool
          -7 (-5.11% of base) : 130610.dasm - DictionaryList:TryGetValue(long,byref):bool:this
         -36 (-4.34% of base) : 228027.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 200230.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 229695.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 144579.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 272586.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 63204.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 292085.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 293413.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 294554.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 157129.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 201747.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 180288.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 311257.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
         -36 (-4.34% of base) : 312029.dasm - System.Diagnostics.Tracing.TestEventListener:AddSource(System.String,System.Nullable`1[Guid],int,long):this
          -5 (-4.31% of base) : 262141.dasm - Emitter:<GenLogMethod>g__GetLogger|17_1(LoggerMethod):System.String
         -24 (-4.28% of base) : 12922.dasm - Microsoft.CodeAnalysis.Shared.Extensions.ISymbolExtensions:IsBrowsingProhibitedByTypeLibAttributeWorker(System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.AttributeData, Microsoft.CodeAnalysis, Version=3.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Generic.List`1[[Microsoft.CodeAnalysis.IMethodSymbol, Microsoft.CodeAnalysis, Version=3.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],int):bool

141 total methods with Code Size differences (117 improved, 24 regressed), 429 unchanged.


Copy link
Contributor

@sandreenko sandreenko left a comment

Choose a reason for hiding this comment

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

LGTM

@AndyAyersMS AndyAyersMS merged commit c0d5122 into dotnet:main Apr 26, 2021
@AndyAyersMS AndyAyersMS deleted the OptReachableExclude branch April 26, 2021 16:51
@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
@AndyAyersMS
Copy link
Member Author

Improvement: DrewScoggins/performance-2#5563

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

4 participants