Skip to content

Use SIMD operations in InitBlkUnroll/CopyBlkUnroll and increase unroll limit up to 128 bytes - #61030

Merged
echesakov merged 16 commits into
dotnet:mainfrom
echesakov:Arm64-Unroll-Init-Block
Dec 28, 2021
Merged

Use SIMD operations in InitBlkUnroll/CopyBlkUnroll and increase unroll limit up to 128 bytes#61030
echesakov merged 16 commits into
dotnet:mainfrom
echesakov:Arm64-Unroll-Init-Block

Conversation

@echesakov

@echesakovechesakov commented Oct 30, 2021

Copy link
Copy Markdown
Contributor

Currently, CodeGen::genCodeForInitBlkUnroll() and CodeGen::genCodeForCpBlkUnroll() do not use SIMD instructions when generating code for InitBlock/CopyBlock operations on Arm and Arm64.

This PR adds support for that on Arm64.

In order to accurately estimate whether the use of SIMD instructions is needed and/or whether the base address of a block needs to computed and stored to a integer register the algorithm does multiple passes - (one that verifies whether all offsets can be encoded and another that counts how many instructions will be emitted).

The following are justifications why such approach was chosen:

  1. In a case when one of the instruction offsets can not be encoded the new implementation would "spill" the address of the beginning of the block to an integer register in order to avoid doing this multiple times as it is now.
    In fact, that issue was already pointed out by a TODO comment (that is removed by the PR)
// TODO-ARM-CQ: If the local frame offset is too large to be encoded, the emitter automatically
// loads the offset into a reserved register (see CodeGen::rsGetRsvdReg()). If we generate
// multiple store instructions we'll also generate multiple offset loading instructions.
// We could try to detect such cases, compute the base destination address in this reserved
// and use it in all store instructions we generate. This would effectively undo the effect
// of local address containment done by lowering.

In other words it transforms a problem of code-generating of InitBlock(largeOffset, byteCount) to InitBlock(0, byteCount). In order to do figure out that such transformation is required, the algorithm needs a pass to verify whether all the offsets are encodable.

For example, the following snippet shows such case

 add xip1, fp, #0xd1ffab1e
- stp xzr, xzr, [xip1] // [V49 tmp34]- add xip1, fp, #0xd1ffab1e- stp xzr, xzr, [xip1] // [V49 tmp34+0x10]- add xip1, fp, #0xd1ffab1e- stp xzr, xzr, [xip1] // [V49 tmp34+0x20]- str xzr, [fp,#0xd1ffab1e] // [V49 tmp34+0x30]+ stp xzr, xzr, [xip1]+ stp xzr, xzr, [xip1,#16]+ stp xzr, xzr, [xip1,#32]+ str xzr, [xip1,#48]
  1. In some cases using SIMD instructions would result in a longer instruction sequence(e.g. in InitBlockAllZeros(startOffset=8, byteCount=16)) since the JIT would need to initialize a SIMD register while it could just use a str xzr, xzr, [dstReg, #dstOffset] instead (assuming dstOffset is encodable). In order to figure out such cases I've chose to use the same mechanism of multiple passes instead of trying to "encode" all corner cases.

As an example, the following demonstrates a case where it is beneficial to "spill" that the base of address of destination in CopyBlock and use SIMD instructions than use integer instructions without spilling.

- ldp x1, x2, [fp,#80] // [V17 tmp13]- stp x1, x2, [fp,#24] // [V32 tmp28]- ldp x1, x2, [fp,#96] // [V17 tmp13+0x10]- stp x1, x2, [fp,#40] // [V32 tmp28+0x10]- ldp x1, x2, [fp,#112] // [V17 tmp13+0x20]- stp x1, x2, [fp,#56] // [V32 tmp28+0x20]- ldr x1, [fp,#128] // [V17 tmp13+0x30]- str x1, [fp,#72] // [V32 tmp28+0x30]- ;; bbWeight=0.50 PerfScore 7.50+ add xip1, fp, #56+ ldr x1, [xip1,#24]+ str x1, [fp,#24]+ ldp q16, q17, [xip1,#32]+ stp q16, q17, [fp,#32]+ ldr q16, [xip1,#64]+ str q16, [fp,#64]

In addition to that, the instruction selection strategy that the current implementation uses can be characterized as greedy "best fit" and it doesn't always produce the optimal result (for example, InitBlock sequence for 7 bytes is str rInitValue, [rAddr]; strh rInitValue, [rAddr+4]; strb rInitValue, [rAddr+6]). I changed the strategy slightly and added support to allow overlapping stores (so that sequence would become str rInitValue, [rAddr]; stur rInitValue, [rAddr+3].

The following is an example where using overlapping loads/stores result in shorter instruction sequence

 ldp x1, x3, [x0]
stp x1, x3, [x2,#16]
- ldr w1, [x0,#16]- str w1, [x2,#32]- ldrh w1, [x0,#20]- strh w1, [x2,#36]+ ldr x1, [x0,#14]+ str x1, [x2,#30]

@ghostghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Oct 30, 2021
@echesakovechesakov added arch-arm64 and removed area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI labels Oct 30, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @JulieLeeMSFT
See info in area-owners.md if you want to be subscribed.

Issue Details

benchmarks.run.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 7643140 (overridden on cmd)
Total bytes of diff: 7642800 (overridden on cmd)
Total bytes of delta: -340 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs

Top file regressions (bytes):
24 : 15710.dasm (1.57% of base)
16 : 4577.dasm (0.98% of base)
16 : 15788.dasm (0.38% of base)
16 : 18614.dasm (1.32% of base)
12 : 19744.dasm (2.00% of base)
8 : 15757.dasm (0.48% of base)
8 : 15741.dasm (3.51% of base)
8 : 18619.dasm (1.03% of base)
8 : 16829.dasm (0.37% of base)
8 : 15713.dasm (8.00% of base)
8 : 18604.dasm (1.61% of base)
8 : 15747.dasm (0.31% of base)
8 : 10639.dasm (2.41% of base)
8 : 15723.dasm (1.06% of base)
8 : 18854.dasm (4.08% of base)
8 : 15722.dasm (0.77% of base)
8 : 18646.dasm (2.38% of base)
8 : 19806.dasm (1.40% of base)
4 : 5499.dasm (0.82% of base)
4 : 11155.dasm (0.09% of base)
Top file improvements (bytes):
-216 : 9825.dasm (-1.82% of base)
-44 : 4554.dasm (-1.28% of base)
-36 : 1983.dasm (-1.90% of base)
-28 : 12885.dasm (-1.90% of base)
-24 : 12887.dasm (-1.04% of base)
-24 : 15594.dasm (-6.25% of base)
-16 : 6373.dasm (-0.43% of base)
-16 : 9483.dasm (-0.26% of base)
-16 : 6551.dasm (-0.42% of base)
-16 : 15754.dasm (-7.41% of base)
-12 : 12886.dasm (-1.27% of base)
-12 : 14844.dasm (-0.70% of base)
-12 : 8061.dasm (-4.62% of base)
-12 : 6380.dasm (-0.73% of base)
-12 : 17067.dasm (-2.44% of base)
-8 : 16659.dasm (-0.08% of base)
-8 : 1417.dasm (-6.67% of base)
-8 : 5314.dasm (-0.74% of base)
-8 : 14253.dasm (-2.17% of base)
-8 : 19472.dasm (-1.47% of base)
67 total files with Code Size differences (33 improved, 34 regressed), 15 unchanged.
Top method regressions (bytes):
24 ( 1.57% of base) : 15710.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,bool):this
16 ( 1.32% of base) : 18614.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
16 ( 0.38% of base) : 15788.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePostFixExpression(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
16 ( 0.98% of base) : 4577.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this
12 ( 2.00% of base) : 19744.dasm - DateTimeArrayJsonHelperWithString:ReadArray(System.Xml.XmlDictionaryReader,System.String,System.String,System.DateTime[],int,int):int:this
8 ( 4.08% of base) : 18854.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(ValueSet[__Canon,__Canon]):this
8 ( 0.37% of base) : 16829.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.DiagnosticBag):this
8 ( 1.06% of base) : 15723.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseBaseList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BaseListSyntax:this
8 ( 0.31% of base) : 15747.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseMemberName(byref,byref,byref,bool):this
8 ( 0.48% of base) : 15757.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterList(byref,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ParameterSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref,ushort,ushort):this
8 ( 1.61% of base) : 18604.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
8 ( 3.51% of base) : 15741.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
8 ( 2.38% of base) : 18646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseQualifiedName(int):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.NameSyntax:this
8 ( 0.77% of base) : 15722.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeParameterList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeParameterListSyntax:this
8 ( 1.03% of base) : 18619.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseVariableDeclarators(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax,int,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.VariableDeclaratorSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],bool,bool,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
8 ( 8.00% of base) : 15713.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
8 ( 2.41% of base) : 10639.dasm - System.DateTimeOffset:Parse(System.String):System.DateTimeOffset
8 ( 1.40% of base) : 19806.dasm - System.Xml.XmlDictionaryReader:ReadElementContentAsDateTime():System.DateTime:this
4 ( 0.83% of base) : 5600.dasm - AsyncStateMachineBox`1[__Canon,<ReceiveBlobAsync>d__174`1][System.__Canon,System.Net.Security.SslStream+<ReceiveBlobAsync>d__174`1[System.Net.Security.AsyncReadWriteAdapter]]:MoveNext(System.Threading.Thread):this
4 ( 3.12% of base) : 8193.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,__Canon]):this
Top method improvements (bytes):
-216 (-1.82% of base) : 9825.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
-44 (-1.28% of base) : 4554.dasm - System.Diagnostics.Perf_Activity:.cctor()
-36 (-1.90% of base) : 1983.dasm - System.Reflection.RuntimeCustomAttributeData:.ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,byref):this
-28 (-1.90% of base) : 12885.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):MicroBenchmarks.Serializers.LargeStructWithProperties:this
-24 (-6.25% of base) : 15594.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
-24 (-1.04% of base) : 12887.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
-16 (-0.26% of base) : 9483.dasm - <SendWithVersionDetectionAndRetryAsync>d__83:MoveNext():this
-16 (-0.43% of base) : 6373.dasm - <WriteStreamAsync>d__112`1[__Canon][System.__Canon]:MoveNext():this
-16 (-0.42% of base) : 6551.dasm - <WriteStreamAsync>d__112`1[Int32][System.Int32]:MoveNext():this
-16 (-7.41% of base) : 15754.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
-12 (-0.73% of base) : 6380.dasm - <ReadAllAsync>d__65`1[__Canon][System.__Canon]:MoveNext():this
-12 (-0.70% of base) : 14844.dasm - <ReadAllAsync>d__65`1[SimpleStructWithProperties][MicroBenchmarks.Serializers.SimpleStructWithProperties]:MoveNext():this
-12 (-2.44% of base) : 17067.dasm - Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult:this
-12 (-4.62% of base) : 8061.dasm - System.Convert:ToDateTime(System.String):System.DateTime
-12 (-1.27% of base) : 12886.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
-8 (-2.17% of base) : 14253.dasm - ILStubClass:IL_STUB_StructMarshal(byref,long,int,byref)
-8 (-0.08% of base) : 16659.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(MembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.DiagnosticBag):this
-8 (-6.67% of base) : 1417.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
-8 (-1.47% of base) : 19472.dasm - System.ConsolePal:GetBufferInfo(bool,byref):CONSOLE_SCREEN_BUFFER_INFO
-8 (-0.76% of base) : 5289.dasm - System.Net.Security.SslStreamPal:AcquireCredentialsHandleSchCredentials(System.Security.Cryptography.X509Certificates.X509Certificate2,int,int,bool):System.Net.Security.SafeFreeCredentials
Top method regressions (percentages):
8 ( 8.00% of base) : 15713.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
8 ( 4.08% of base) : 18854.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(ValueSet[__Canon,__Canon]):this
8 ( 3.51% of base) : 15741.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
4 ( 3.12% of base) : 8193.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,__Canon]):this
8 ( 2.41% of base) : 10639.dasm - System.DateTimeOffset:Parse(System.String):System.DateTimeOffset
8 ( 2.38% of base) : 18646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseQualifiedName(int):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.NameSyntax:this
12 ( 2.00% of base) : 19744.dasm - DateTimeArrayJsonHelperWithString:ReadArray(System.Xml.XmlDictionaryReader,System.String,System.String,System.DateTime[],int,int):int:this
4 ( 2.00% of base) : 20926.dasm - System.Collections.Immutable.ImmutableHashSet`1[Int32][System.Int32]:GetEnumerator():Enumerator[Int32]:this
8 ( 1.61% of base) : 18604.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
24 ( 1.57% of base) : 15710.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,bool):this
4 ( 1.41% of base) : 12228.dasm - System.Security.Cryptography.ECCurve:CreateFromValueAndName(System.String,System.String):System.Security.Cryptography.ECCurve
8 ( 1.40% of base) : 19806.dasm - System.Xml.XmlDictionaryReader:ReadElementContentAsDateTime():System.DateTime:this
16 ( 1.32% of base) : 18614.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
4 ( 1.11% of base) : 4717.dasm - System.Drawing.Internal.GPStream:Stat(long,int):this
8 ( 1.06% of base) : 15723.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseBaseList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BaseListSyntax:this
8 ( 1.03% of base) : 18619.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseVariableDeclarators(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax,int,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.VariableDeclaratorSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],bool,bool,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
16 ( 0.98% of base) : 4577.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this
4 ( 0.83% of base) : 5600.dasm - AsyncStateMachineBox`1[__Canon,<ReceiveBlobAsync>d__174`1][System.__Canon,System.Net.Security.SslStream+<ReceiveBlobAsync>d__174`1[System.Net.Security.AsyncReadWriteAdapter]]:MoveNext(System.Threading.Thread):this
4 ( 0.82% of base) : 5499.dasm - Internal.Cryptography.Pal.ChainPal:GetChainEngine(int,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,bool):Internal.Cryptography.Pal.Native.SafeChainEngineHandle
8 ( 0.77% of base) : 15722.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeParameterList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeParameterListSyntax:this
Top method improvements (percentages):
-16 (-7.41% of base) : 15754.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
-8 (-6.67% of base) : 1417.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
-24 (-6.25% of base) : 15594.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
-12 (-4.62% of base) : 8061.dasm - System.Convert:ToDateTime(System.String):System.DateTime
-4 (-2.94% of base) : 5351.dasm - AwaitableSocketAsyncEventArgs:Release():this
-4 (-2.86% of base) : 12872.dasm - MicroBenchmarks.Serializers.DataGenerator:CreateLargeStructWithProperties():MicroBenchmarks.Serializers.LargeStructWithProperties
-4 (-2.50% of base) : 5468.dasm - System.TimeZoneInfo:TryGetTimeZoneEntryFromRegistry(Internal.Win32.RegistryKey,System.String,byref):bool
-12 (-2.44% of base) : 17067.dasm - Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult:this
-4 (-2.33% of base) : 5894.dasm - System.Numerics.Matrix4x4:.cctor()
-8 (-2.17% of base) : 14253.dasm - ILStubClass:IL_STUB_StructMarshal(byref,long,int,byref)
-4 (-2.08% of base) : 14797.dasm - System.Numerics.Tests.Perf_Matrix4x4:CreateFromScalars():System.Numerics.Matrix4x4:this
-36 (-1.90% of base) : 1983.dasm - System.Reflection.RuntimeCustomAttributeData:.ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,byref):this
-28 (-1.90% of base) : 12885.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):MicroBenchmarks.Serializers.LargeStructWithProperties:this
-216 (-1.82% of base) : 9825.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
-8 (-1.47% of base) : 19472.dasm - System.ConsolePal:GetBufferInfo(bool,byref):CONSOLE_SCREEN_BUFFER_INFO
-4 (-1.41% of base) : 19473.dasm - Kernel32:GetConsoleScreenBufferInfo(long,byref):bool
-4 (-1.30% of base) : 7923.dasm - Interop:CheckForAvailableVirtualMemory(long)
-44 (-1.28% of base) : 4554.dasm - System.Diagnostics.Perf_Activity:.cctor()
-12 (-1.27% of base) : 12886.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
-24 (-1.04% of base) : 12887.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
67 total methods with Code Size differences (33 improved, 34 regressed), 15 unchanged.

coreclr_tests.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 165072520 (overridden on cmd)
Total bytes of diff: 165068932 (overridden on cmd)
Total bytes of delta: -3588 (-0.00 % of base)
diff is an improvement.
relative diff is a regression.
Detail diffs

Top file regressions (bytes):
72 : 168762.dasm (1.32% of base)
72 : 167701.dasm (1.34% of base)
36 : 218418.dasm (2.63% of base)
28 : 168618.dasm (1.00% of base)
24 : 229926.dasm (1.83% of base)
20 : 218432.dasm (1.75% of base)
16 : 239929.dasm (16.00% of base)
16 : 239930.dasm (16.00% of base)
16 : 239902.dasm (16.00% of base)
16 : 239931.dasm (16.00% of base)
16 : 87634.dasm (2.96% of base)
16 : 239932.dasm (16.00% of base)
16 : 239933.dasm (16.00% of base)
16 : 239934.dasm (16.00% of base)
16 : 239935.dasm (16.00% of base)
16 : 239927.dasm (16.00% of base)
16 : 239928.dasm (16.00% of base)
16 : 225598.dasm (2.29% of base)
16 : 239900.dasm (16.00% of base)
16 : 239936.dasm (16.00% of base)
Top file improvements (bytes):
-216 : 226601.dasm (-2.87% of base)
-216 : 217800.dasm (-1.96% of base)
-216 : 217899.dasm (-1.98% of base)
-216 : 226575.dasm (-2.04% of base)
-216 : 217930.dasm (-2.07% of base)
-208 : 217571.dasm (-2.01% of base)
-208 : 218184.dasm (-1.90% of base)
-208 : 218212.dasm (-1.92% of base)
-208 : 225485.dasm (-1.98% of base)
-144 : 232486.dasm (-1.76% of base)
-136 : 225518.dasm (-1.64% of base)
-136 : 225585.dasm (-1.58% of base)
-116 : 225684.dasm (-1.36% of base)
-116 : 191640.dasm (-1.97% of base)
-116 : 225617.dasm (-1.38% of base)
-104 : 218150.dasm (-1.03% of base)
-104 : 227066.dasm (-1.02% of base)
-80 : 145242.dasm (-1.89% of base)
-80 : 188733.dasm (-1.89% of base)
-80 : 188972.dasm (-1.89% of base)
313 total files with Code Size differences (163 improved, 150 regressed), 20 unchanged.
Top method regressions (bytes):
72 ( 1.32% of base) : 168762.dasm - NullableTest45:Run()
72 ( 1.34% of base) : 167701.dasm - NullableTest45:Run()
36 ( 2.63% of base) : 218418.dasm - Packet256Tracer:CreateDefaultScene():Scene
28 ( 1.00% of base) : 168618.dasm - NullableTest45:Run()
24 ( 1.83% of base) : 229926.dasm - NullableTest:Main():int
20 ( 1.75% of base) : 218432.dasm - Surfaces:.cctor()
16 ( 2.29% of base) : 225598.dasm - AA:reset()
16 ( 2.96% of base) : 87634.dasm - JitTest.Test:Main():int
16 ( 3.01% of base) : 87635.dasm - JitTest.Test:Main():int
16 (16.00% of base) : 239926.dasm - Program:Test81()
16 (16.00% of base) : 239927.dasm - Program:Test82()
16 (16.00% of base) : 239928.dasm - Program:Test83()
16 (16.00% of base) : 239929.dasm - Program:Test84()
16 (16.00% of base) : 239930.dasm - Program:Test85()
16 (16.00% of base) : 239931.dasm - Program:Test86()
16 (16.00% of base) : 239932.dasm - Program:Test87()
16 (16.00% of base) : 239933.dasm - Program:Test88()
16 (16.00% of base) : 239934.dasm - Program:Test89()
16 (16.00% of base) : 239935.dasm - Program:Test90()
16 (16.00% of base) : 239936.dasm - Program:Test91()
Top method improvements (bytes):
-216 (-2.87% of base) : 226601.dasm - TestApp:Main():int
-216 (-1.96% of base) : 217800.dasm - TestApp:Main():int
-216 (-1.98% of base) : 217899.dasm - TestApp:Main():int
-216 (-2.04% of base) : 226575.dasm - TestApp:Main():int
-216 (-2.07% of base) : 217930.dasm - TestApp:Main():int
-208 (-2.01% of base) : 217571.dasm - TestApp:Main():int
-208 (-1.90% of base) : 218184.dasm - TestApp:Main():int
-208 (-1.92% of base) : 218212.dasm - TestApp:Main():int
-208 (-1.98% of base) : 225485.dasm - TestApp:Main():int
-144 (-1.76% of base) : 232486.dasm - TestApp:Main():int
-136 (-1.64% of base) : 225518.dasm - TestApp:Main():int
-136 (-1.58% of base) : 225585.dasm - TestApp:Main():int
-116 (-1.36% of base) : 225684.dasm - TestApp:Main():int
-116 (-1.38% of base) : 225617.dasm - TestApp:Main():int
-116 (-1.97% of base) : 191640.dasm - testout1:.cctor()
-104 (-1.03% of base) : 218150.dasm - TestApp:Main():int
-104 (-1.02% of base) : 227066.dasm - TestApp:Main():int
-80 (-1.89% of base) : 145242.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
-80 (-1.89% of base) : 188733.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
-80 (-1.89% of base) : 188972.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
Top method regressions (percentages):
16 (16.00% of base) : 239926.dasm - Program:Test81()
16 (16.00% of base) : 239927.dasm - Program:Test82()
16 (16.00% of base) : 239928.dasm - Program:Test83()
16 (16.00% of base) : 239929.dasm - Program:Test84()
16 (16.00% of base) : 239930.dasm - Program:Test85()
16 (16.00% of base) : 239931.dasm - Program:Test86()
16 (16.00% of base) : 239932.dasm - Program:Test87()
16 (16.00% of base) : 239933.dasm - Program:Test88()
16 (16.00% of base) : 239934.dasm - Program:Test89()
16 (16.00% of base) : 239935.dasm - Program:Test90()
16 (16.00% of base) : 239936.dasm - Program:Test91()
16 (16.00% of base) : 239937.dasm - Program:Test92()
16 (16.00% of base) : 239938.dasm - Program:Test93()
16 (16.00% of base) : 239939.dasm - Program:Test94()
16 (16.00% of base) : 239900.dasm - Program:Test95()
16 (16.00% of base) : 239902.dasm - Program:Test97()
16 (16.00% of base) : 239903.dasm - Program:Test98()
16 (16.00% of base) : 239904.dasm - Program:Test99()
12 (12.00% of base) : 239910.dasm - Program:Test65()
12 (12.00% of base) : 239911.dasm - Program:Test66()
Top method improvements (percentages):
-8 (-22.22% of base) : 88500.dasm - Program:Test(byref)
-12 (-12.00% of base) : 88629.dasm - MyTest:f(int):Struct1
-64 (-10.32% of base) : 188517.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
-64 (-10.32% of base) : 188850.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
-64 (-10.32% of base) : 189101.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
-12 (-10.00% of base) : 239956.dasm - Program:Test47()
-12 (-9.68% of base) : 239908.dasm - Program:Test63()
-4 (-9.09% of base) : 212804.dasm - TestNon2PowerStructs:Return7():Byte7Struct
-8 (-7.14% of base) : 239988.dasm - Program:Test15()
-8 (-7.14% of base) : 239996.dasm - Program:Test23()
-8 (-6.90% of base) : 239940.dasm - Program:Test31()
-8 (-6.90% of base) : 239948.dasm - Program:Test39()
-8 (-6.90% of base) : 239952.dasm - Program:Test43()
-8 (-6.90% of base) : 239954.dasm - Program:Test45()
-8 (-6.90% of base) : 239955.dasm - Program:Test46()
-8 (-6.67% of base) : 239964.dasm - Program:Test55()
-8 (-6.67% of base) : 239968.dasm - Program:Test59()
-8 (-6.67% of base) : 239970.dasm - Program:Test61()
-8 (-6.67% of base) : 239971.dasm - Program:Test62()
-56 (-6.06% of base) : 243751.dasm - Test:Main():int
313 total methods with Code Size differences (163 improved, 150 regressed), 20 unchanged.

libraries.crossgen2.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 51798676 (overridden on cmd)
Total bytes of diff: 51795164 (overridden on cmd)
Total bytes of delta: -3512 (-0.01 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs

Top file improvements (bytes):
-216 : 200047.dasm (-2.01% of base)
-88 : 98240.dasm (-2.80% of base)
-76 : 109834.dasm (-25.68% of base)
-64 : 98200.dasm (-3.40% of base)
-60 : 119288.dasm (-2.45% of base)
-48 : 128078.dasm (-6.98% of base)
-44 : 109802.dasm (-20.00% of base)
-40 : 91859.dasm (-34.48% of base)
-40 : 128072.dasm (-12.05% of base)
-40 : 114869.dasm (-1.16% of base)
-36 : 109827.dasm (-16.98% of base)
-36 : 114420.dasm (-2.42% of base)
-32 : 176653.dasm (-14.55% of base)
-32 : 165275.dasm (-2.58% of base)
-32 : 164692.dasm (-2.91% of base)
-32 : 82381.dasm (-4.97% of base)
-32 : 78883.dasm (-5.26% of base)
-32 : 78886.dasm (-8.42% of base)
-32 : 82384.dasm (-7.69% of base)
-28 : 52864.dasm (-20.59% of base)
256 total files with Code Size differences (256 improved, 0 regressed), 14 unchanged.
Top method improvements (bytes):
-216 (-2.01% of base) : 200047.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
-88 (-2.80% of base) : 98240.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:OperatorInvocationOverloadResolution(Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol],Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Binder,bool,bool,byref):Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+OverloadResolutionResult
-76 (-25.68% of base) : 109834.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
-64 (-3.40% of base) : 98200.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:CollectOverloadedCandidate(Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+QuickApplicabilityInfo,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BoundNode,bool,Microsoft.CodeAnalysis.VisualBasic.Binder,byref,byref)
-60 (-2.45% of base) : 119288.dasm - InterpolatedStringScanner:ScanInterpolatedStringLiteralHoleBalancedText(ushort,bool,byref):this
-48 (-6.98% of base) : 128078.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.Text.TextChangeRange],bool,bool,System.Threading.CancellationToken):this
-44 (-20.00% of base) : 109802.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
-40 (-34.48% of base) : 91859.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate,ubyte):this
-40 (-12.05% of base) : 128072.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
-40 (-1.16% of base) : 114869.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ResolveOverloadedMembers(System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.ArgumentSyntax]):Microsoft.CodeAnalysis.VisualBasic.OverloadResolutionResult`1[System.__Canon]:this
-36 (-16.98% of base) : 109827.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberResolutionResult`1:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult,bool):this
-36 (-2.42% of base) : 114420.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberSemanticModel:GetForEachStatementInfoWorker(Microsoft.CodeAnalysis.VisualBasic.Syntax.ForEachBlockSyntax):Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:this
-32 (-4.97% of base) : 82381.dasm - System.DateOnly:TryParseExactInternal(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
-32 (-7.69% of base) : 82384.dasm - System.DateOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
-32 (-2.58% of base) : 165275.dasm - System.Security.Cryptography.Asn1.OaepParamsAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
-32 (-2.91% of base) : 164692.dasm - System.Security.Cryptography.Pkcs.Asn1.EssCertIdV2:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
-32 (-14.55% of base) : 176653.dasm - System.Security.Cryptography.X509Certificates.Asn1.ValidityAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
-32 (-5.26% of base) : 78883.dasm - System.TimeOnly:TryParseExactInternal(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
-32 (-8.42% of base) : 78886.dasm - System.TimeOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
-28 (-29.17% of base) : 91858.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate):this
Top method improvements (percentages):
-40 (-34.48% of base) : 91859.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate,ubyte):this
-20 (-33.33% of base) : 86297.dasm - StateMachineBox`1:ClearStateUponCompletion():this
-28 (-29.17% of base) : 91858.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate):this
-76 (-25.68% of base) : 109834.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
-28 (-20.59% of base) : 151974.dasm - Microsoft.DiaSymReader.ComMemoryStream:Microsoft.DiaSymReader.IUnsafeComStream.Stat(byref,int):this
-28 (-20.59% of base) : 52864.dasm - Roslyn.Utilities.ComMemoryStream:Roslyn.Utilities.IUnsafeComStream.Stat(byref,int):this
-20 (-20.00% of base) : 192838.dasm - BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO:Create():Interop+BCrypt+BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
-44 (-20.00% of base) : 109802.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
-8 (-20.00% of base) : 66231.dasm - System.Diagnostics.Tracing.DataCollector:Disable():this
-16 (-19.05% of base) : 188976.dasm - System.Collections.Immutable.DisposableEnumeratorAdapter`2:.ctor(System.Collections.Generic.IEnumerator`1[System.__Canon]):this
-36 (-16.98% of base) : 109827.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberResolutionResult`1:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult,bool):this
-32 (-14.55% of base) : 176653.dasm - System.Security.Cryptography.X509Certificates.Asn1.ValidityAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
-20 (-13.89% of base) : 128645.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ResetMode(int):this
-20 (-13.89% of base) : 128067.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:set_Mode(int):this
-20 (-12.50% of base) : 128646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:SetMode(int):int:this
-40 (-12.05% of base) : 128072.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
-20 (-11.11% of base) : 212760.dasm - System.Collections.Generic.SparseArrayBuilder`1:.ctor(bool):this
-24 (-8.82% of base) : 91857.dasm - OverloadResolutionResult:.ctor(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],bool,bool,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]):this
-32 (-8.42% of base) : 78886.dasm - System.TimeOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
-12 (-8.11% of base) : 188811.dasm - Enumerator:Reset():this
256 total methods with Code Size differences (256 improved, 0 regressed), 14 unchanged.

libraries.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 51367956 (overridden on cmd)
Total bytes of diff: 51368108 (overridden on cmd)
Total bytes of delta: 152 (0.00 % of base)
diff is a regression.
relative diff is an improvement.
Detail diffs

Top file regressions (bytes):
48 : 48404.dasm (0.69% of base)
40 : 33787.dasm (1.79% of base)
32 : 22824.dasm (1.82% of base)
32 : 33459.dasm (3.39% of base)
24 : 33675.dasm (3.85% of base)
24 : 33444.dasm (0.79% of base)
24 : 33458.dasm (3.59% of base)
20 : 33439.dasm (2.43% of base)
20 : 41154.dasm (0.51% of base)
20 : 33457.dasm (2.94% of base)
16 : 33578.dasm (0.44% of base)
16 : 180078.dasm (2.56% of base)
16 : 164361.dasm (1.82% of base)
16 : 33451.dasm (2.34% of base)
16 : 172249.dasm (0.95% of base)
16 : 135373.dasm (0.27% of base)
16 : 228527.dasm (2.65% of base)
16 : 33430.dasm (1.37% of base)
16 : 33679.dasm (1.88% of base)
16 : 180077.dasm (2.56% of base)
Top file improvements (bytes):
-216 : 208204.dasm (-1.82% of base)
-88 : 50982.dasm (-1.40% of base)
-72 : 105551.dasm (-1.06% of base)
-64 : 53999.dasm (-32.00% of base)
-36 : 50983.dasm (-0.93% of base)
-32 : 54021.dasm (-23.53% of base)
-32 : 66924.dasm (-1.14% of base)
-28 : 77383.dasm (-0.71% of base)
-28 : 73320.dasm (-30.43% of base)
-24 : 22818.dasm (-1.14% of base)
-24 : 229110.dasm (-1.58% of base)
-24 : 34016.dasm (-6.25% of base)
-20 : 90198.dasm (-0.17% of base)
-20 : 22898.dasm (-4.50% of base)
-20 : 22832.dasm (-1.53% of base)
-20 : 229151.dasm (-0.19% of base)
-16 : 49072.dasm (-0.99% of base)
-16 : 221314.dasm (-0.42% of base)
-16 : 80378.dasm (-14.29% of base)
-16 : 151812.dasm (-14.29% of base)
349 total files with Code Size differences (139 improved, 210 regressed), 123 unchanged.
Top method regressions (bytes):
48 ( 0.69% of base) : 48404.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureAndProduceBoundNode(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,int,Microsoft.CodeAnalysis.ArrayBuilder`1[CandidateAnalysisResult],System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.Symbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.BoundExpression, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableArray`1[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundMethodOrPropertyGroup,Microsoft.CodeAnalysis.VisualBasic.Symbol,bool,Microsoft.CodeAnalysis.VisualBasic.BoundTypeExpression,Microsoft.CodeAnalysis.VisualBasic.Symbol,Microsoft.CodeAnalysis.Location):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this
40 ( 1.79% of base) : 33787.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder):this
32 ( 1.82% of base) : 22824.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:BinaryOperatorOverloadResolution(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult,byref):this
32 ( 3.39% of base) : 33459.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlProcessingInstruction():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlProcessingInstructionSyntax:this
24 ( 3.59% of base) : 33458.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlCDataSection():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCDataSectionSyntax:this
24 ( 0.79% of base) : 33444.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlElement():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlNodeSyntax:this
24 ( 3.85% of base) : 33675.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanType(byref):int:this
20 ( 0.51% of base) : 41154.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers:CheckGraph(System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers+Node`1[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]])
20 ( 2.43% of base) : 33439.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseRemainder(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlNodeSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):this
20 ( 2.94% of base) : 33457.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlComment():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCommentSyntax:this
16 ( 2.65% of base) : 228527.dasm - ILStubClass:IL_STUB_PInvoke(CRYPTUI_VIEWCERTIFICATE_STRUCTW,long):bool
16 ( 2.56% of base) : 180077.dasm - ILStubClass:IL_STUB_PInvoke(PRINTDLG):bool
16 ( 2.56% of base) : 180078.dasm - ILStubClass:IL_STUB_PInvoke(PRINTDLGX86):bool
16 ( 1.37% of base) : 33430.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseCrefTypeSuffix(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
16 ( 2.34% of base) : 33451.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlAttributeText(byref,Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
16 ( 0.44% of base) : 33578.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePostFixExpression(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
16 ( 1.88% of base) : 33679.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanNonArrayType(byref):int:this
16 ( 0.59% of base) : 66901.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:CollectOverloadedCandidate(Microsoft.CodeAnalysis.ArrayBuilder`1[CandidateAnalysisResult],QuickApplicabilityInfo,System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.BoundExpression, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableArray`1[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BoundNode,bool,Microsoft.CodeAnalysis.VisualBasic.Binder,byref,byref)
16 ( 1.82% of base) : 164361.dasm - System.ComponentModel.DateTimeConverter:ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object):System.Object:this
16 ( 0.95% of base) : 172249.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this
Top method improvements (bytes):
-216 (-1.82% of base) : 208204.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
-88 (-1.40% of base) : 50982.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:RemoveDirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol,System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint],Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],int,Microsoft.CodeAnalysis.ArrayBuilder`1[TypeParameterDiagnosticInfo]):System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint]
-72 (-1.06% of base) : 105551.dasm - <ParseValueAsync>d__8:MoveNext():this
-64 (-32.00% of base) : 53999.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
-36 (-0.93% of base) : 50983.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:ReportIndirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceTypeParameterSymbol,Microsoft.CodeAnalysis.ArrayBuilder`1[TypeParameterDiagnosticInfo],byref)
-32 (-23.53% of base) : 54021.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
-32 (-1.14% of base) : 66924.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:OperatorInvocationOverloadResolution(Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Binder,bool,bool,byref):OverloadResolutionResult
-28 (-30.43% of base) : 73320.dasm - CandidateAnalysisResult:.ctor(Candidate,ubyte):this
-28 (-0.71% of base) : 77383.dasm - Microsoft.CodeAnalysis.SyntaxDiffer:GetSimilarity(Microsoft.CodeAnalysis.SyntaxNodeOrToken,Microsoft.CodeAnalysis.SyntaxNodeOrToken):int:this
-24 (-1.58% of base) : 229110.dasm - ILCompiler.MetadataManager:GetCompiledMethods(Internal.TypeSystem.Ecma.EcmaModule,int):System.Collections.Generic.IEnumerable`1[[ILCompiler.DependencyAnalysis.IMethodNode, ILCompiler.ReadyToRun, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null]]:this
-24 (-1.14% of base) : 22818.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:CandidateOperators(Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorSignature],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorAnalysisResult],byref):bool:this
-24 (-6.25% of base) : 34016.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
-20 (-0.19% of base) : 229151.dasm - ILCompiler.Win32Resources.ResourceData:WriteResources(ILCompiler.DependencyAnalysis.ISymbolNode,byref):this
-20 (-1.53% of base) : 22832.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:UnaryOperatorOverloadResolution(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult,byref):this
-20 (-4.50% of base) : 22898.dasm - Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.UnaryOperatorAnalysisResult:this
-20 (-0.17% of base) : 90198.dasm - Microsoft.Diagnostics.Tracing.Parsers.RegisteredTraceEventParser:GetManifestForRegisteredProvider(System.Guid):System.String
-16 (-0.26% of base) : 114559.dasm - <SendWithVersionDetectionAndRetryAsync>d__83:MoveNext():this
-16 (-0.42% of base) : 221314.dasm - <WriteStreamAsync>d__112`1[__Canon][System.__Canon]:MoveNext():this
-16 (-22.22% of base) : 73321.dasm - CandidateAnalysisResult:.ctor(Candidate):this
-16 (-0.99% of base) : 49072.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberSemanticModel:GetCollectionRangeVariableSymbolInfoWorker(Microsoft.CodeAnalysis.VisualBasic.Syntax.CollectionRangeVariableSyntax,System.Threading.CancellationToken):Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:this
Top method regressions (percentages):
8 (25.00% of base) : 83259.dasm - Microsoft.Diagnostics.Tracing.EventPipeEventSource:ResetCompressedHeader():this
8 ( 8.00% of base) : 33435.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ReInitialize(int):this
8 ( 8.00% of base) : 34008.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
8 ( 3.85% of base) : 33449.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseCrefAttribute(byref,byref,byref):this
8 ( 3.85% of base) : 33450.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseNameAttribute(byref,byref,byref):this
24 ( 3.85% of base) : 33675.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanType(byref):int:this
4 ( 3.70% of base) : 24896.dasm - Microsoft.CodeAnalysis.CSharp.CSharpExtensions:GetForEachStatementInfo(Microsoft.CodeAnalysis.SemanticModel,Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax):Microsoft.CodeAnalysis.CSharp.ForEachStatementInfo
4 ( 3.70% of base) : 24561.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetForEachStatementInfo(Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax):Microsoft.CodeAnalysis.CSharp.ForEachStatementInfo:this
24 ( 3.59% of base) : 33458.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlCDataSection():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCDataSectionSyntax:this
4 ( 3.57% of base) : 157411.dasm - Enumerator[__Canon,Nullable`1][System.__Canon,System.Nullable`1[System.Int32]]:Reset():this
8 ( 3.51% of base) : 33626.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
8 ( 3.45% of base) : 214197.dasm - System.Security.Cryptography.ECDsaCng:ExportExplicitParameters(bool):System.Security.Cryptography.ECParameters:this
32 ( 3.39% of base) : 33459.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlProcessingInstruction():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlProcessingInstructionSyntax:this
8 ( 3.33% of base) : 33379.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseLogicalAnd():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
8 ( 3.33% of base) : 33378.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseLogicalOr():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
4 ( 3.23% of base) : 157421.dasm - Enumerator[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[Byte,Nullable`1]):this
4 ( 3.12% of base) : 157414.dasm - Enumerator[__Canon,Nullable`1][System.__Canon,System.Nullable`1[System.Int32]]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,Nullable`1]):this
20 ( 2.94% of base) : 33457.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlComment():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCommentSyntax:this
8 ( 2.70% of base) : 33380.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseEquality():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
16 ( 2.65% of base) : 228527.dasm - ILStubClass:IL_STUB_PInvoke(CRYPTUI_VIEWCERTIFICATE_STRUCTW,long):bool
Top method improvements (percentages):
-64 (-32.00% of base) : 53999.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
-28 (-30.43% of base) : 73320.dasm - CandidateAnalysisResult:.ctor(Candidate,ubyte):this
-32 (-23.53% of base) : 54021.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
-16 (-22.22% of base) : 73321.dasm - CandidateAnalysisResult:.ctor(Candidate):this
-16 (-14.29% of base) : 151812.dasm - Microsoft.DiaSymReader.ComMemoryStream:Microsoft.DiaSymReader.IUnsafeComStream.Stat(byref,int):this
-16 (-14.29% of base) : 80378.dasm - Roslyn.Utilities.ComMemoryStream:Roslyn.Utilities.IUnsafeComStream.Stat(byref,int):this
-8 (-10.53% of base) : 212075.dasm - BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO:Create():BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
-12 (-9.09% of base) : 191532.dasm - System.Collections.Generic.SparseArrayBuilder`1[Byte][System.Byte]:.ctor(bool):this
-8 (-6.67% of base) : 191525.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
-12 (-6.38% of base) : 33989.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
-24 (-6.25% of base) : 34016.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
-4 (-5.56% of base) : 33437.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ResetMode(int):this
-4 (-5.56% of base) : 33994.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:set_Mode(int):this
-4 (-4.55% of base) : 33436.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:SetMode(int):int:this
-20 (-4.50% of base) : 22898.dasm - Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.UnaryOperatorAnalysisResult:this
-8 (-3.57% of base) : 115298.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:GetEnumerator():Enumerator:this
-4 (-3.33% of base) : 201256.dasm - System.Net.Sockets.Socket:ReturnSocketAsyncEventArgs(TaskSocketAsyncEventArgs`1[Int32],bool):this
-12 (-3.00% of base) : 213439.dasm - ECDiffieHellmanCngPublicKey:ExportParameters():System.Security.Cryptography.ECParameters:this
-4 (-2.94% of base) : 201534.dasm - AwaitableSocketAsyncEventArgs:Release():this
-4 (-2.86% of base) : 112402.dasm - System.Diagnostics.CounterSample:.cctor()
349 total methods with Code Size differences (139 improved, 210 regressed), 123 unchanged.

libraries_tests.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 117602000 (overridden on cmd)
Total bytes of diff: 117599136 (overridden on cmd)
Total bytes of delta: -2864 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs

Top file regressions (bytes):
48 : 200990.dasm (2.18% of base)
40 : 72162.dasm (0.69% of base)
40 : 70869.dasm (1.04% of base)
36 : 72165.dasm (2.37% of base)
32 : 70902.dasm (1.27% of base)
28 : 72163.dasm (0.50% of base)
28 : 72164.dasm (0.93% of base)
24 : 70870.dasm (0.42% of base)
24 : 196032.dasm (1.34% of base)
24 : 123740.dasm (0.58% of base)
24 : 2706.dasm (0.43% of base)
24 : 197885.dasm (1.34% of base)
20 : 70962.dasm (0.88% of base)
20 : 70871.dasm (0.66% of base)
20 : 70872.dasm (1.31% of base)
16 : 70959.dasm (0.88% of base)
16 : 2690.dasm (0.46% of base)
16 : 2705.dasm (0.52% of base)
16 : 10904.dasm (0.38% of base)
12 : 102372.dasm (0.42% of base)
Top file improvements (bytes):
-768 : 311400.dasm (-6.17% of base)
-188 : 15932.dasm (-6.84% of base)
-184 : 17969.dasm (-1.30% of base)
-180 : 311434.dasm (-4.99% of base)
-144 : 197630.dasm (-2.75% of base)
-144 : 195487.dasm (-2.75% of base)
-144 : 330154.dasm (-2.75% of base)
-96 : 99842.dasm (-3.04% of base)
-80 : 95558.dasm (-0.96% of base)
-80 : 244768.dasm (-1.43% of base)
-72 : 15950.dasm (-3.94% of base)
-72 : 142747.dasm (-8.65% of base)
-60 : 153430.dasm (-0.38% of base)
-52 : 17906.dasm (-0.47% of base)
-48 : 341736.dasm (-0.80% of base)
-44 : 243505.dasm (-0.27% of base)
-44 : 16355.dasm (-1.81% of base)
-36 : 141851.dasm (-1.91% of base)
-32 : 264089.dasm (-5.37% of base)
-32 : 142754.dasm (-1.27% of base)
478 total files with Code Size differences (287 improved, 191 regressed), 166 unchanged.
Top method regressions (bytes):
48 ( 2.18% of base) : 200990.dasm - System.Security.Cryptography.X509Certificates.Tests.CertificateCreation.EccTestData:.cctor()
40 ( 1.04% of base) : 70869.dasm - System.Tests.DateOnlyTests:BasicFormatParseTest()
40 ( 0.69% of base) : 72162.dasm - System.Tests.TimeOnlyTests:BasicFormatParseTest()
36 ( 2.37% of base) : 72165.dasm - System.Tests.TimeOnlyTests:InvalidFormatsTest()
32 ( 1.27% of base) : 70902.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_O(System.DateTime,System.String)
28 ( 0.50% of base) : 72163.dasm - System.Tests.TimeOnlyTests:FormatParseTest()
28 ( 0.93% of base) : 72164.dasm - System.Tests.TimeOnlyTests:OAndRFormatsTest()
24 ( 0.58% of base) : 123740.dasm - <ProcessTargetStack>d__23:MoveNext():this
24 ( 0.43% of base) : 2706.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ValidateReverseReferences(System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]])
24 ( 1.34% of base) : 196032.dasm - System.Security.Cryptography.Tests.EccTestData:.cctor()
24 ( 1.34% of base) : 197885.dasm - System.Security.Cryptography.Tests.EccTestData:.cctor()
24 ( 0.42% of base) : 70870.dasm - System.Tests.DateOnlyTests:FormatParseTest()
20 ( 1.31% of base) : 70872.dasm - System.Tests.DateOnlyTests:InvalidFormatsTest()
20 ( 0.66% of base) : 70871.dasm - System.Tests.DateOnlyTests:OAndRFormatsTest()
20 ( 0.88% of base) : 70962.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_R(System.DateTime,System.String)
16 ( 0.38% of base) : 10904.dasm - Microsoft.CodeAnalysis.Diagnostics.SkippedHostAnalyzersInfo:Create(Microsoft.CodeAnalysis.Diagnostics.HostDiagnosticAnalyzers,System.Collections.Generic.IReadOnlyList`1[[Microsoft.CodeAnalysis.Diagnostics.AnalyzerReference, Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.String,Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzerInfoCache):Microsoft.CodeAnalysis.Diagnostics.SkippedHostAnalyzersInfo
16 ( 0.46% of base) : 2690.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ComputeReverseReferencesMap():System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this
16 ( 0.52% of base) : 2705.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ValidateForwardReferences(System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]])
16 ( 0.88% of base) : 70959.dasm - System.Tests.DateTimeTests:ParseExact_ToStringThenParseExactRoundtrip_Success(System.String)
12 ( 3.30% of base) : 78061.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__0():System.Object:this
Top method improvements (bytes):
-768 (-6.17% of base) : 311400.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4EqualsNanTest():this
-188 (-6.84% of base) : 15932.dasm - <DescendInheritanceTreeAsync>d__6:MoveNext():this
-184 (-1.30% of base) : 17969.dasm - <CreateIndexAsync>d__8:MoveNext():this
-180 (-4.99% of base) : 311434.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4IsIdentityTest():this
-144 (-2.75% of base) : 197630.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
-144 (-2.75% of base) : 195487.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
-144 (-2.75% of base) : 330154.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
-96 (-3.04% of base) : 99842.dasm - System.Text.Json.Serialization.Tests.ReadValueTests:ReadClasses()
-80 (-1.43% of base) : 244768.dasm - Microsoft.DotNet.ProjectModel.Resolution.LibraryManager:GetAllDiagnostics():System.Collections.Generic.IList`1[[Microsoft.DotNet.ProjectModel.DiagnosticMessage, Microsoft.DotNet.ProjectModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]]:this
-80 (-0.96% of base) : 95558.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:SkipTest()
-72 (-3.94% of base) : 15950.dasm - <AddDescendantMetadataTypesInProjectAsync>d__16:MoveNext():this
-72 (-8.65% of base) : 142747.dasm - <PushAll>d__19:MoveNext():this
-60 (-0.38% of base) : 153430.dasm - System.Data.Tests.DataTableTest2:Select_ByFilter():this
-52 (-0.47% of base) : 17906.dasm - <IdentifyConflictsAsync>d__19:MoveNext():this
-48 (-0.80% of base) : 341736.dasm - System.Tests.ValueTupleTests:EightTuples()
-44 (-1.81% of base) : 16355.dasm - <FindReferencesThroughAliasSymbolsAsync>d__26:MoveNext():this
-44 (-0.27% of base) : 243505.dasm - <ResolveCoreAsync>d__50:MoveNext():this
-36 (-1.91% of base) : 141851.dasm - <SendAsync>d__8:MoveNext():this
-32 (-5.37% of base) : 264089.dasm - <<ZeroByteWrite_OtherDataReceivedSuccessfully>b__0>d:MoveNext():this
-32 (-1.27% of base) : 142754.dasm - <PushPackageToServer>d__24:MoveNext():this
Top method regressions (percentages):
12 ( 4.41% of base) : 176181.dasm - System.SpanTests.SpanTests:ClearValueTypeWithoutReferencesPointerSize()
12 ( 3.30% of base) : 78061.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__0():System.Object:this
12 ( 3.30% of base) : 78062.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__1():System.Object:this
12 ( 3.19% of base) : 76136.dasm - <>c__DisplayClass18_0:<InvalidFormatsTest>b__1():System.Object:this
12 ( 3.16% of base) : 76135.dasm - <>c__DisplayClass18_0:<InvalidFormatsTest>b__0():System.Object:this
8 ( 2.86% of base) : 114921.dasm - Microsoft.Build.Tasks.Touch:GetTouchDateTime():System.DateTime:this
8 ( 2.82% of base) : 286125.dasm - <>c__DisplayClass0_0:<TestJapaneseCalendarDateParsing>b__0():System.Object:this
8 ( 2.82% of base) : 76468.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__0():System.Object:this
8 ( 2.82% of base) : 76469.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__1():System.Object:this
8 ( 2.82% of base) : 76481.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__0():System.Object:this
8 ( 2.82% of base) : 76482.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__1():System.Object:this
4 ( 2.70% of base) : 133427.dasm - Microsoft.Diagnostics.Runtime.DacInterface.SOSDac:GetThreadData(long,byref):bool:this
8 ( 2.67% of base) : 76462.dasm - <>c__DisplayClass124_0:<ParseExact_ToStringThenParseExact_RoundtripWithOtherFormat_Fails>b__2():System.Object:this
8 ( 2.60% of base) : 76470.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__2():System.Object:this
8 ( 2.60% of base) : 76483.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__2():System.Object:this
8 ( 2.60% of base) : 70946.dasm - System.Tests.DateTimeTests:Parse_String()
8 ( 2.56% of base) : 70947.dasm - System.Tests.DateTimeTests:Parse_String_FormatProvider()
8 ( 2.56% of base) : 70948.dasm - System.Tests.DateTimeTests:Parse_String_FormatProvider_DateTimeStyles()
36 ( 2.37% of base) : 72165.dasm - System.Tests.TimeOnlyTests:InvalidFormatsTest()
8 ( 2.27% of base) : 70906.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_CustomFormatProvider()
Top method improvements (percentages):
-16 (-26.67% of base) : 7416.dasm - Microsoft.CodeAnalysis.Rename.ConflictResolution:.ctor(System.String):this
-4 (-12.50% of base) : 91781.dasm - <>c:<get_SimpleTestStructWithNullableGenericStructCollectionWrappers>b__858_0():System.Text.Json.Serialization.Tests.SimpleTestStructWithNullableGenericStructCollectionWrappers:this
-24 (-12.24% of base) : 130274.dasm - CodeShapeAnalyzer:.ctor(Microsoft.CodeAnalysis.Formatting.FormattingContext,bool,Microsoft.CodeAnalysis.Formatting.TriviaList):this
-72 (-8.65% of base) : 142747.dasm - <PushAll>d__19:MoveNext():this
-188 (-6.84% of base) : 15932.dasm - <DescendInheritanceTreeAsync>d__6:MoveNext():this
-8 (-6.67% of base) : 125318.dasm - Microsoft.CodeAnalysis.CSharp.Formatting.NewLineUserSettingFormattingRule:.ctor():this
-768 (-6.17% of base) : 311400.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4EqualsNanTest():this
-32 (-5.37% of base) : 264089.dasm - <<ZeroByteWrite_OtherDataReceivedSuccessfully>b__0>d:MoveNext():this
-180 (-4.99% of base) : 311434.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4IsIdentityTest():this
-4 (-4.55% of base) : 197563.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
-4 (-4.55% of base) : 195384.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
-4 (-4.55% of base) : 330088.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
-4 (-4.55% of base) : 197704.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
-4 (-4.55% of base) : 195553.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
-4 (-4.55% of base) : 330260.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
-72 (-3.94% of base) : 15950.dasm - <AddDescendantMetadataTypesInProjectAsync>d__16:MoveNext():this
-8 (-3.57% of base) : 180560.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:GetEnumerator():Enumerator:this
-8 (-3.51% of base) : 236997.dasm - LamarCompiler.Util.StringExtensions:ToDateTime(System.String):System.DateTime
-8 (-3.39% of base) : 106574.dasm - MyDateTimeConverter:Read(byref,System.Type,System.Text.Json.JsonSerializerOptions):System.DateTime:this
-96 (-3.04% of base) : 99842.dasm - System.Text.Json.Serialization.Tests.ReadValueTests:ReadClasses()
478 total methods with Code Size differences (287 improved, 191 regressed), 166 unchanged.

Author:echesakovMSFT
Assignees:-
Labels:

area-CodeGen-coreclr

Milestone:-

@echesakovechesakov added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Oct 30, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @JulieLeeMSFT
See info in area-owners.md if you want to be subscribed.

Issue Details

benchmarks.run.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 7643140 (overridden on cmd)
Total bytes of diff: 7642800 (overridden on cmd)
Total bytes of delta: -340 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs

Top file regressions (bytes):
24 : 15710.dasm (1.57% of base)
16 : 4577.dasm (0.98% of base)
16 : 15788.dasm (0.38% of base)
16 : 18614.dasm (1.32% of base)
12 : 19744.dasm (2.00% of base)
8 : 15757.dasm (0.48% of base)
8 : 15741.dasm (3.51% of base)
8 : 18619.dasm (1.03% of base)
8 : 16829.dasm (0.37% of base)
8 : 15713.dasm (8.00% of base)
8 : 18604.dasm (1.61% of base)
8 : 15747.dasm (0.31% of base)
8 : 10639.dasm (2.41% of base)
8 : 15723.dasm (1.06% of base)
8 : 18854.dasm (4.08% of base)
8 : 15722.dasm (0.77% of base)
8 : 18646.dasm (2.38% of base)
8 : 19806.dasm (1.40% of base)
4 : 5499.dasm (0.82% of base)
4 : 11155.dasm (0.09% of base)
Top file improvements (bytes):
-216 : 9825.dasm (-1.82% of base)
-44 : 4554.dasm (-1.28% of base)
-36 : 1983.dasm (-1.90% of base)
-28 : 12885.dasm (-1.90% of base)
-24 : 12887.dasm (-1.04% of base)
-24 : 15594.dasm (-6.25% of base)
-16 : 6373.dasm (-0.43% of base)
-16 : 9483.dasm (-0.26% of base)
-16 : 6551.dasm (-0.42% of base)
-16 : 15754.dasm (-7.41% of base)
-12 : 12886.dasm (-1.27% of base)
-12 : 14844.dasm (-0.70% of base)
-12 : 8061.dasm (-4.62% of base)
-12 : 6380.dasm (-0.73% of base)
-12 : 17067.dasm (-2.44% of base)
-8 : 16659.dasm (-0.08% of base)
-8 : 1417.dasm (-6.67% of base)
-8 : 5314.dasm (-0.74% of base)
-8 : 14253.dasm (-2.17% of base)
-8 : 19472.dasm (-1.47% of base)
67 total files with Code Size differences (33 improved, 34 regressed), 15 unchanged.
Top method regressions (bytes):
24 ( 1.57% of base) : 15710.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,bool):this
16 ( 1.32% of base) : 18614.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
16 ( 0.38% of base) : 15788.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePostFixExpression(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
16 ( 0.98% of base) : 4577.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this
12 ( 2.00% of base) : 19744.dasm - DateTimeArrayJsonHelperWithString:ReadArray(System.Xml.XmlDictionaryReader,System.String,System.String,System.DateTime[],int,int):int:this
8 ( 4.08% of base) : 18854.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(ValueSet[__Canon,__Canon]):this
8 ( 0.37% of base) : 16829.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.DiagnosticBag):this
8 ( 1.06% of base) : 15723.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseBaseList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BaseListSyntax:this
8 ( 0.31% of base) : 15747.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseMemberName(byref,byref,byref,bool):this
8 ( 0.48% of base) : 15757.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterList(byref,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ParameterSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref,ushort,ushort):this
8 ( 1.61% of base) : 18604.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
8 ( 3.51% of base) : 15741.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
8 ( 2.38% of base) : 18646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseQualifiedName(int):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.NameSyntax:this
8 ( 0.77% of base) : 15722.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeParameterList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeParameterListSyntax:this
8 ( 1.03% of base) : 18619.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseVariableDeclarators(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax,int,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.VariableDeclaratorSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],bool,bool,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
8 ( 8.00% of base) : 15713.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
8 ( 2.41% of base) : 10639.dasm - System.DateTimeOffset:Parse(System.String):System.DateTimeOffset
8 ( 1.40% of base) : 19806.dasm - System.Xml.XmlDictionaryReader:ReadElementContentAsDateTime():System.DateTime:this
4 ( 0.83% of base) : 5600.dasm - AsyncStateMachineBox`1[__Canon,<ReceiveBlobAsync>d__174`1][System.__Canon,System.Net.Security.SslStream+<ReceiveBlobAsync>d__174`1[System.Net.Security.AsyncReadWriteAdapter]]:MoveNext(System.Threading.Thread):this
4 ( 3.12% of base) : 8193.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,__Canon]):this
Top method improvements (bytes):
-216 (-1.82% of base) : 9825.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
-44 (-1.28% of base) : 4554.dasm - System.Diagnostics.Perf_Activity:.cctor()
-36 (-1.90% of base) : 1983.dasm - System.Reflection.RuntimeCustomAttributeData:.ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,byref):this
-28 (-1.90% of base) : 12885.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):MicroBenchmarks.Serializers.LargeStructWithProperties:this
-24 (-6.25% of base) : 15594.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
-24 (-1.04% of base) : 12887.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
-16 (-0.26% of base) : 9483.dasm - <SendWithVersionDetectionAndRetryAsync>d__83:MoveNext():this
-16 (-0.43% of base) : 6373.dasm - <WriteStreamAsync>d__112`1[__Canon][System.__Canon]:MoveNext():this
-16 (-0.42% of base) : 6551.dasm - <WriteStreamAsync>d__112`1[Int32][System.Int32]:MoveNext():this
-16 (-7.41% of base) : 15754.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
-12 (-0.73% of base) : 6380.dasm - <ReadAllAsync>d__65`1[__Canon][System.__Canon]:MoveNext():this
-12 (-0.70% of base) : 14844.dasm - <ReadAllAsync>d__65`1[SimpleStructWithProperties][MicroBenchmarks.Serializers.SimpleStructWithProperties]:MoveNext():this
-12 (-2.44% of base) : 17067.dasm - Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult:this
-12 (-4.62% of base) : 8061.dasm - System.Convert:ToDateTime(System.String):System.DateTime
-12 (-1.27% of base) : 12886.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
-8 (-2.17% of base) : 14253.dasm - ILStubClass:IL_STUB_StructMarshal(byref,long,int,byref)
-8 (-0.08% of base) : 16659.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(MembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.DiagnosticBag):this
-8 (-6.67% of base) : 1417.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
-8 (-1.47% of base) : 19472.dasm - System.ConsolePal:GetBufferInfo(bool,byref):CONSOLE_SCREEN_BUFFER_INFO
-8 (-0.76% of base) : 5289.dasm - System.Net.Security.SslStreamPal:AcquireCredentialsHandleSchCredentials(System.Security.Cryptography.X509Certificates.X509Certificate2,int,int,bool):System.Net.Security.SafeFreeCredentials
Top method regressions (percentages):
8 ( 8.00% of base) : 15713.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
8 ( 4.08% of base) : 18854.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(ValueSet[__Canon,__Canon]):this
8 ( 3.51% of base) : 15741.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
4 ( 3.12% of base) : 8193.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,__Canon]):this
8 ( 2.41% of base) : 10639.dasm - System.DateTimeOffset:Parse(System.String):System.DateTimeOffset
8 ( 2.38% of base) : 18646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseQualifiedName(int):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.NameSyntax:this
12 ( 2.00% of base) : 19744.dasm - DateTimeArrayJsonHelperWithString:ReadArray(System.Xml.XmlDictionaryReader,System.String,System.String,System.DateTime[],int,int):int:this
4 ( 2.00% of base) : 20926.dasm - System.Collections.Immutable.ImmutableHashSet`1[Int32][System.Int32]:GetEnumerator():Enumerator[Int32]:this
8 ( 1.61% of base) : 18604.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
24 ( 1.57% of base) : 15710.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,bool):this
4 ( 1.41% of base) : 12228.dasm - System.Security.Cryptography.ECCurve:CreateFromValueAndName(System.String,System.String):System.Security.Cryptography.ECCurve
8 ( 1.40% of base) : 19806.dasm - System.Xml.XmlDictionaryReader:ReadElementContentAsDateTime():System.DateTime:this
16 ( 1.32% of base) : 18614.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
4 ( 1.11% of base) : 4717.dasm - System.Drawing.Internal.GPStream:Stat(long,int):this
8 ( 1.06% of base) : 15723.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseBaseList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BaseListSyntax:this
8 ( 1.03% of base) : 18619.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseVariableDeclarators(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax,int,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.VariableDeclaratorSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],bool,bool,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
16 ( 0.98% of base) : 4577.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this
4 ( 0.83% of base) : 5600.dasm - AsyncStateMachineBox`1[__Canon,<ReceiveBlobAsync>d__174`1][System.__Canon,System.Net.Security.SslStream+<ReceiveBlobAsync>d__174`1[System.Net.Security.AsyncReadWriteAdapter]]:MoveNext(System.Threading.Thread):this
4 ( 0.82% of base) : 5499.dasm - Internal.Cryptography.Pal.ChainPal:GetChainEngine(int,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,bool):Internal.Cryptography.Pal.Native.SafeChainEngineHandle
8 ( 0.77% of base) : 15722.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeParameterList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeParameterListSyntax:this
Top method improvements (percentages):
-16 (-7.41% of base) : 15754.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
-8 (-6.67% of base) : 1417.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
-24 (-6.25% of base) : 15594.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
-12 (-4.62% of base) : 8061.dasm - System.Convert:ToDateTime(System.String):System.DateTime
-4 (-2.94% of base) : 5351.dasm - AwaitableSocketAsyncEventArgs:Release():this
-4 (-2.86% of base) : 12872.dasm - MicroBenchmarks.Serializers.DataGenerator:CreateLargeStructWithProperties():MicroBenchmarks.Serializers.LargeStructWithProperties
-4 (-2.50% of base) : 5468.dasm - System.TimeZoneInfo:TryGetTimeZoneEntryFromRegistry(Internal.Win32.RegistryKey,System.String,byref):bool
-12 (-2.44% of base) : 17067.dasm - Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult:this
-4 (-2.33% of base) : 5894.dasm - System.Numerics.Matrix4x4:.cctor()
-8 (-2.17% of base) : 14253.dasm - ILStubClass:IL_STUB_StructMarshal(byref,long,int,byref)
-4 (-2.08% of base) : 14797.dasm - System.Numerics.Tests.Perf_Matrix4x4:CreateFromScalars():System.Numerics.Matrix4x4:this
-36 (-1.90% of base) : 1983.dasm - System.Reflection.RuntimeCustomAttributeData:.ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,byref):this
-28 (-1.90% of base) : 12885.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):MicroBenchmarks.Serializers.LargeStructWithProperties:this
-216 (-1.82% of base) : 9825.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
-8 (-1.47% of base) : 19472.dasm - System.ConsolePal:GetBufferInfo(bool,byref):CONSOLE_SCREEN_BUFFER_INFO
-4 (-1.41% of base) : 19473.dasm - Kernel32:GetConsoleScreenBufferInfo(long,byref):bool
-4 (-1.30% of base) : 7923.dasm - Interop:CheckForAvailableVirtualMemory(long)
-44 (-1.28% of base) : 4554.dasm - System.Diagnostics.Perf_Activity:.cctor()
-12 (-1.27% of base) : 12886.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
-24 (-1.04% of base) : 12887.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
67 total methods with Code Size differences (33 improved, 34 regressed), 15 unchanged.

coreclr_tests.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 165072520 (overridden on cmd)
Total bytes of diff: 165068932 (overridden on cmd)
Total bytes of delta: -3588 (-0.00 % of base)
diff is an improvement.
relative diff is a regression.
Detail diffs

Top file regressions (bytes):
72 : 168762.dasm (1.32% of base)
72 : 167701.dasm (1.34% of base)
36 : 218418.dasm (2.63% of base)
28 : 168618.dasm (1.00% of base)
24 : 229926.dasm (1.83% of base)
20 : 218432.dasm (1.75% of base)
16 : 239929.dasm (16.00% of base)
16 : 239930.dasm (16.00% of base)
16 : 239902.dasm (16.00% of base)
16 : 239931.dasm (16.00% of base)
16 : 87634.dasm (2.96% of base)
16 : 239932.dasm (16.00% of base)
16 : 239933.dasm (16.00% of base)
16 : 239934.dasm (16.00% of base)
16 : 239935.dasm (16.00% of base)
16 : 239927.dasm (16.00% of base)
16 : 239928.dasm (16.00% of base)
16 : 225598.dasm (2.29% of base)
16 : 239900.dasm (16.00% of base)
16 : 239936.dasm (16.00% of base)
Top file improvements (bytes):
-216 : 226601.dasm (-2.87% of base)
-216 : 217800.dasm (-1.96% of base)
-216 : 217899.dasm (-1.98% of base)
-216 : 226575.dasm (-2.04% of base)
-216 : 217930.dasm (-2.07% of base)
-208 : 217571.dasm (-2.01% of base)
-208 : 218184.dasm (-1.90% of base)
-208 : 218212.dasm (-1.92% of base)
-208 : 225485.dasm (-1.98% of base)
-144 : 232486.dasm (-1.76% of base)
-136 : 225518.dasm (-1.64% of base)
-136 : 225585.dasm (-1.58% of base)
-116 : 225684.dasm (-1.36% of base)
-116 : 191640.dasm (-1.97% of base)
-116 : 225617.dasm (-1.38% of base)
-104 : 218150.dasm (-1.03% of base)
-104 : 227066.dasm (-1.02% of base)
-80 : 145242.dasm (-1.89% of base)
-80 : 188733.dasm (-1.89% of base)
-80 : 188972.dasm (-1.89% of base)
313 total files with Code Size differences (163 improved, 150 regressed), 20 unchanged.
Top method regressions (bytes):
72 ( 1.32% of base) : 168762.dasm - NullableTest45:Run()
72 ( 1.34% of base) : 167701.dasm - NullableTest45:Run()
36 ( 2.63% of base) : 218418.dasm - Packet256Tracer:CreateDefaultScene():Scene
28 ( 1.00% of base) : 168618.dasm - NullableTest45:Run()
24 ( 1.83% of base) : 229926.dasm - NullableTest:Main():int
20 ( 1.75% of base) : 218432.dasm - Surfaces:.cctor()
16 ( 2.29% of base) : 225598.dasm - AA:reset()
16 ( 2.96% of base) : 87634.dasm - JitTest.Test:Main():int
16 ( 3.01% of base) : 87635.dasm - JitTest.Test:Main():int
16 (16.00% of base) : 239926.dasm - Program:Test81()
16 (16.00% of base) : 239927.dasm - Program:Test82()
16 (16.00% of base) : 239928.dasm - Program:Test83()
16 (16.00% of base) : 239929.dasm - Program:Test84()
16 (16.00% of base) : 239930.dasm - Program:Test85()
16 (16.00% of base) : 239931.dasm - Program:Test86()
16 (16.00% of base) : 239932.dasm - Program:Test87()
16 (16.00% of base) : 239933.dasm - Program:Test88()
16 (16.00% of base) : 239934.dasm - Program:Test89()
16 (16.00% of base) : 239935.dasm - Program:Test90()
16 (16.00% of base) : 239936.dasm - Program:Test91()
Top method improvements (bytes):
-216 (-2.87% of base) : 226601.dasm - TestApp:Main():int
-216 (-1.96% of base) : 217800.dasm - TestApp:Main():int
-216 (-1.98% of base) : 217899.dasm - TestApp:Main():int
-216 (-2.04% of base) : 226575.dasm - TestApp:Main():int
-216 (-2.07% of base) : 217930.dasm - TestApp:Main():int
-208 (-2.01% of base) : 217571.dasm - TestApp:Main():int
-208 (-1.90% of base) : 218184.dasm - TestApp:Main():int
-208 (-1.92% of base) : 218212.dasm - TestApp:Main():int
-208 (-1.98% of base) : 225485.dasm - TestApp:Main():int
-144 (-1.76% of base) : 232486.dasm - TestApp:Main():int
-136 (-1.64% of base) : 225518.dasm - TestApp:Main():int
-136 (-1.58% of base) : 225585.dasm - TestApp:Main():int
-116 (-1.36% of base) : 225684.dasm - TestApp:Main():int
-116 (-1.38% of base) : 225617.dasm - TestApp:Main():int
-116 (-1.97% of base) : 191640.dasm - testout1:.cctor()
-104 (-1.03% of base) : 218150.dasm - TestApp:Main():int
-104 (-1.02% of base) : 227066.dasm - TestApp:Main():int
-80 (-1.89% of base) : 145242.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
-80 (-1.89% of base) : 188733.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
-80 (-1.89% of base) : 188972.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
Top method regressions (percentages):
16 (16.00% of base) : 239926.dasm - Program:Test81()
16 (16.00% of base) : 239927.dasm - Program:Test82()
16 (16.00% of base) : 239928.dasm - Program:Test83()
16 (16.00% of base) : 239929.dasm - Program:Test84()
16 (16.00% of base) : 239930.dasm - Program:Test85()
16 (16.00% of base) : 239931.dasm - Program:Test86()
16 (16.00% of base) : 239932.dasm - Program:Test87()
16 (16.00% of base) : 239933.dasm - Program:Test88()
16 (16.00% of base) : 239934.dasm - Program:Test89()
16 (16.00% of base) : 239935.dasm - Program:Test90()
16 (16.00% of base) : 239936.dasm - Program:Test91()
16 (16.00% of base) : 239937.dasm - Program:Test92()
16 (16.00% of base) : 239938.dasm - Program:Test93()
16 (16.00% of base) : 239939.dasm - Program:Test94()
16 (16.00% of base) : 239900.dasm - Program:Test95()
16 (16.00% of base) : 239902.dasm - Program:Test97()
16 (16.00% of base) : 239903.dasm - Program:Test98()
16 (16.00% of base) : 239904.dasm - Program:Test99()
12 (12.00% of base) : 239910.dasm - Program:Test65()
12 (12.00% of base) : 239911.dasm - Program:Test66()
Top method improvements (percentages):
-8 (-22.22% of base) : 88500.dasm - Program:Test(byref)
-12 (-12.00% of base) : 88629.dasm - MyTest:f(int):Struct1
-64 (-10.32% of base) : 188517.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
-64 (-10.32% of base) : 188850.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
-64 (-10.32% of base) : 189101.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
-12 (-10.00% of base) : 239956.dasm - Program:Test47()
-12 (-9.68% of base) : 239908.dasm - Program:Test63()
-4 (-9.09% of base) : 212804.dasm - TestNon2PowerStructs:Return7():Byte7Struct
-8 (-7.14% of base) : 239988.dasm - Program:Test15()
-8 (-7.14% of base) : 239996.dasm - Program:Test23()
-8 (-6.90% of base) : 239940.dasm - Program:Test31()
-8 (-6.90% of base) : 239948.dasm - Program:Test39()
-8 (-6.90% of base) : 239952.dasm - Program:Test43()
-8 (-6.90% of base) : 239954.dasm - Program:Test45()
-8 (-6.90% of base) : 239955.dasm - Program:Test46()
-8 (-6.67% of base) : 239964.dasm - Program:Test55()
-8 (-6.67% of base) : 239968.dasm - Program:Test59()
-8 (-6.67% of base) : 239970.dasm - Program:Test61()
-8 (-6.67% of base) : 239971.dasm - Program:Test62()
-56 (-6.06% of base) : 243751.dasm - Test:Main():int
313 total methods with Code Size differences (163 improved, 150 regressed), 20 unchanged.

libraries.crossgen2.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 51798676 (overridden on cmd)
Total bytes of diff: 51795164 (overridden on cmd)
Total bytes of delta: -3512 (-0.01 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs

Top file improvements (bytes):
-216 : 200047.dasm (-2.01% of base)
-88 : 98240.dasm (-2.80% of base)
-76 : 109834.dasm (-25.68% of base)
-64 : 98200.dasm (-3.40% of base)
-60 : 119288.dasm (-2.45% of base)
-48 : 128078.dasm (-6.98% of base)
-44 : 109802.dasm (-20.00% of base)
-40 : 91859.dasm (-34.48% of base)
-40 : 128072.dasm (-12.05% of base)
-40 : 114869.dasm (-1.16% of base)
-36 : 109827.dasm (-16.98% of base)
-36 : 114420.dasm (-2.42% of base)
-32 : 176653.dasm (-14.55% of base)
-32 : 165275.dasm (-2.58% of base)
-32 : 164692.dasm (-2.91% of base)
-32 : 82381.dasm (-4.97% of base)
-32 : 78883.dasm (-5.26% of base)
-32 : 78886.dasm (-8.42% of base)
-32 : 82384.dasm (-7.69% of base)
-28 : 52864.dasm (-20.59% of base)
256 total files with Code Size differences (256 improved, 0 regressed), 14 unchanged.
Top method improvements (bytes):
-216 (-2.01% of base) : 200047.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
-88 (-2.80% of base) : 98240.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:OperatorInvocationOverloadResolution(Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol],Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Binder,bool,bool,byref):Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+OverloadResolutionResult
-76 (-25.68% of base) : 109834.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
-64 (-3.40% of base) : 98200.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:CollectOverloadedCandidate(Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+QuickApplicabilityInfo,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BoundNode,bool,Microsoft.CodeAnalysis.VisualBasic.Binder,byref,byref)
-60 (-2.45% of base) : 119288.dasm - InterpolatedStringScanner:ScanInterpolatedStringLiteralHoleBalancedText(ushort,bool,byref):this
-48 (-6.98% of base) : 128078.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.Text.TextChangeRange],bool,bool,System.Threading.CancellationToken):this
-44 (-20.00% of base) : 109802.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
-40 (-34.48% of base) : 91859.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate,ubyte):this
-40 (-12.05% of base) : 128072.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
-40 (-1.16% of base) : 114869.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ResolveOverloadedMembers(System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.ArgumentSyntax]):Microsoft.CodeAnalysis.VisualBasic.OverloadResolutionResult`1[System.__Canon]:this
-36 (-16.98% of base) : 109827.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberResolutionResult`1:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult,bool):this
-36 (-2.42% of base) : 114420.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberSemanticModel:GetForEachStatementInfoWorker(Microsoft.CodeAnalysis.VisualBasic.Syntax.ForEachBlockSyntax):Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:this
-32 (-4.97% of base) : 82381.dasm - System.DateOnly:TryParseExactInternal(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
-32 (-7.69% of base) : 82384.dasm - System.DateOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
-32 (-2.58% of base) : 165275.dasm - System.Security.Cryptography.Asn1.OaepParamsAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
-32 (-2.91% of base) : 164692.dasm - System.Security.Cryptography.Pkcs.Asn1.EssCertIdV2:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
-32 (-14.55% of base) : 176653.dasm - System.Security.Cryptography.X509Certificates.Asn1.ValidityAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
-32 (-5.26% of base) : 78883.dasm - System.TimeOnly:TryParseExactInternal(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
-32 (-8.42% of base) : 78886.dasm - System.TimeOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
-28 (-29.17% of base) : 91858.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate):this
Top method improvements (percentages):
-40 (-34.48% of base) : 91859.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate,ubyte):this
-20 (-33.33% of base) : 86297.dasm - StateMachineBox`1:ClearStateUponCompletion():this
-28 (-29.17% of base) : 91858.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate):this
-76 (-25.68% of base) : 109834.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
-28 (-20.59% of base) : 151974.dasm - Microsoft.DiaSymReader.ComMemoryStream:Microsoft.DiaSymReader.IUnsafeComStream.Stat(byref,int):this
-28 (-20.59% of base) : 52864.dasm - Roslyn.Utilities.ComMemoryStream:Roslyn.Utilities.IUnsafeComStream.Stat(byref,int):this
-20 (-20.00% of base) : 192838.dasm - BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO:Create():Interop+BCrypt+BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
-44 (-20.00% of base) : 109802.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
-8 (-20.00% of base) : 66231.dasm - System.Diagnostics.Tracing.DataCollector:Disable():this
-16 (-19.05% of base) : 188976.dasm - System.Collections.Immutable.DisposableEnumeratorAdapter`2:.ctor(System.Collections.Generic.IEnumerator`1[System.__Canon]):this
-36 (-16.98% of base) : 109827.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberResolutionResult`1:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult,bool):this
-32 (-14.55% of base) : 176653.dasm - System.Security.Cryptography.X509Certificates.Asn1.ValidityAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
-20 (-13.89% of base) : 128645.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ResetMode(int):this
-20 (-13.89% of base) : 128067.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:set_Mode(int):this
-20 (-12.50% of base) : 128646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:SetMode(int):int:this
-40 (-12.05% of base) : 128072.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
-20 (-11.11% of base) : 212760.dasm - System.Collections.Generic.SparseArrayBuilder`1:.ctor(bool):this
-24 (-8.82% of base) : 91857.dasm - OverloadResolutionResult:.ctor(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],bool,bool,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]):this
-32 (-8.42% of base) : 78886.dasm - System.TimeOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
-12 (-8.11% of base) : 188811.dasm - Enumerator:Reset():this
256 total methods with Code Size differences (256 improved, 0 regressed), 14 unchanged.

libraries.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 51367956 (overridden on cmd)
Total bytes of diff: 51368108 (overridden on cmd)
Total bytes of delta: 152 (0.00 % of base)
diff is a regression.
relative diff is an improvement.
Detail diffs

Top file regressions (bytes):
48 : 48404.dasm (0.69% of base)
40 : 33787.dasm (1.79% of base)
32 : 22824.dasm (1.82% of base)
32 : 33459.dasm (3.39% of base)
24 : 33675.dasm (3.85% of base)
24 : 33444.dasm (0.79% of base)
24 : 33458.dasm (3.59% of base)
20 : 33439.dasm (2.43% of base)
20 : 41154.dasm (0.51% of base)
20 : 33457.dasm (2.94% of base)
16 : 33578.dasm (0.44% of base)
16 : 180078.dasm (2.56% of base)
16 : 164361.dasm (1.82% of base)
16 : 33451.dasm (2.34% of base)
16 : 172249.dasm (0.95% of base)
16 : 135373.dasm (0.27% of base)
16 : 228527.dasm (2.65% of base)
16 : 33430.dasm (1.37% of base)
16 : 33679.dasm (1.88% of base)
16 : 180077.dasm (2.56% of base)
Top file improvements (bytes):
-216 : 208204.dasm (-1.82% of base)
-88 : 50982.dasm (-1.40% of base)
-72 : 105551.dasm (-1.06% of base)
-64 : 53999.dasm (-32.00% of base)
-36 : 50983.dasm (-0.93% of base)
-32 : 54021.dasm (-23.53% of base)
-32 : 66924.dasm (-1.14% of base)
-28 : 77383.dasm (-0.71% of base)
-28 : 73320.dasm (-30.43% of base)
-24 : 22818.dasm (-1.14% of base)
-24 : 229110.dasm (-1.58% of base)
-24 : 34016.dasm (-6.25% of base)
-20 : 90198.dasm (-0.17% of base)
-20 : 22898.dasm (-4.50% of base)
-20 : 22832.dasm (-1.53% of base)
-20 : 229151.dasm (-0.19% of base)
-16 : 49072.dasm (-0.99% of base)
-16 : 221314.dasm (-0.42% of base)
-16 : 80378.dasm (-14.29% of base)
-16 : 151812.dasm (-14.29% of base)
349 total files with Code Size differences (139 improved, 210 regressed), 123 unchanged.
Top method regressions (bytes):
48 ( 0.69% of base) : 48404.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureAndProduceBoundNode(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,int,Microsoft.CodeAnalysis.ArrayBuilder`1[CandidateAnalysisResult],System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.Symbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.BoundExpression, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableArray`1[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundMethodOrPropertyGroup,Microsoft.CodeAnalysis.VisualBasic.Symbol,bool,Microsoft.CodeAnalysis.VisualBasic.BoundTypeExpression,Microsoft.CodeAnalysis.VisualBasic.Symbol,Microsoft.CodeAnalysis.Location):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this
40 ( 1.79% of base) : 33787.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder):this
32 ( 1.82% of base) : 22824.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:BinaryOperatorOverloadResolution(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult,byref):this
32 ( 3.39% of base) : 33459.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlProcessingInstruction():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlProcessingInstructionSyntax:this
24 ( 3.59% of base) : 33458.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlCDataSection():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCDataSectionSyntax:this
24 ( 0.79% of base) : 33444.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlElement():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlNodeSyntax:this
24 ( 3.85% of base) : 33675.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanType(byref):int:this
20 ( 0.51% of base) : 41154.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers:CheckGraph(System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers+Node`1[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]])
20 ( 2.43% of base) : 33439.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseRemainder(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlNodeSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):this
20 ( 2.94% of base) : 33457.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlComment():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCommentSyntax:this
16 ( 2.65% of base) : 228527.dasm - ILStubClass:IL_STUB_PInvoke(CRYPTUI_VIEWCERTIFICATE_STRUCTW,long):bool
16 ( 2.56% of base) : 180077.dasm - ILStubClass:IL_STUB_PInvoke(PRINTDLG):bool
16 ( 2.56% of base) : 180078.dasm - ILStubClass:IL_STUB_PInvoke(PRINTDLGX86):bool
16 ( 1.37% of base) : 33430.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseCrefTypeSuffix(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
16 ( 2.34% of base) : 33451.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlAttributeText(byref,Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
16 ( 0.44% of base) : 33578.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePostFixExpression(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
16 ( 1.88% of base) : 33679.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanNonArrayType(byref):int:this
16 ( 0.59% of base) : 66901.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:CollectOverloadedCandidate(Microsoft.CodeAnalysis.ArrayBuilder`1[CandidateAnalysisResult],QuickApplicabilityInfo,System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.BoundExpression, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableArray`1[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BoundNode,bool,Microsoft.CodeAnalysis.VisualBasic.Binder,byref,byref)
16 ( 1.82% of base) : 164361.dasm - System.ComponentModel.DateTimeConverter:ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object):System.Object:this
16 ( 0.95% of base) : 172249.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this
Top method improvements (bytes):
-216 (-1.82% of base) : 208204.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
-88 (-1.40% of base) : 50982.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:RemoveDirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol,System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint],Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],int,Microsoft.CodeAnalysis.ArrayBuilder`1[TypeParameterDiagnosticInfo]):System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint]
-72 (-1.06% of base) : 105551.dasm - <ParseValueAsync>d__8:MoveNext():this
-64 (-32.00% of base) : 53999.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
-36 (-0.93% of base) : 50983.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:ReportIndirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceTypeParameterSymbol,Microsoft.CodeAnalysis.ArrayBuilder`1[TypeParameterDiagnosticInfo],byref)
-32 (-23.53% of base) : 54021.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
-32 (-1.14% of base) : 66924.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:OperatorInvocationOverloadResolution(Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Binder,bool,bool,byref):OverloadResolutionResult
-28 (-30.43% of base) : 73320.dasm - CandidateAnalysisResult:.ctor(Candidate,ubyte):this
-28 (-0.71% of base) : 77383.dasm - Microsoft.CodeAnalysis.SyntaxDiffer:GetSimilarity(Microsoft.CodeAnalysis.SyntaxNodeOrToken,Microsoft.CodeAnalysis.SyntaxNodeOrToken):int:this
-24 (-1.58% of base) : 229110.dasm - ILCompiler.MetadataManager:GetCompiledMethods(Internal.TypeSystem.Ecma.EcmaModule,int):System.Collections.Generic.IEnumerable`1[[ILCompiler.DependencyAnalysis.IMethodNode, ILCompiler.ReadyToRun, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null]]:this
-24 (-1.14% of base) : 22818.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:CandidateOperators(Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorSignature],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorAnalysisResult],byref):bool:this
-24 (-6.25% of base) : 34016.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
-20 (-0.19% of base) : 229151.dasm - ILCompiler.Win32Resources.ResourceData:WriteResources(ILCompiler.DependencyAnalysis.ISymbolNode,byref):this
-20 (-1.53% of base) : 22832.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:UnaryOperatorOverloadResolution(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult,byref):this
-20 (-4.50% of base) : 22898.dasm - Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.UnaryOperatorAnalysisResult:this
-20 (-0.17% of base) : 90198.dasm - Microsoft.Diagnostics.Tracing.Parsers.RegisteredTraceEventParser:GetManifestForRegisteredProvider(System.Guid):System.String
-16 (-0.26% of base) : 114559.dasm - <SendWithVersionDetectionAndRetryAsync>d__83:MoveNext():this
-16 (-0.42% of base) : 221314.dasm - <WriteStreamAsync>d__112`1[__Canon][System.__Canon]:MoveNext():this
-16 (-22.22% of base) : 73321.dasm - CandidateAnalysisResult:.ctor(Candidate):this
-16 (-0.99% of base) : 49072.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberSemanticModel:GetCollectionRangeVariableSymbolInfoWorker(Microsoft.CodeAnalysis.VisualBasic.Syntax.CollectionRangeVariableSyntax,System.Threading.CancellationToken):Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:this
Top method regressions (percentages):
8 (25.00% of base) : 83259.dasm - Microsoft.Diagnostics.Tracing.EventPipeEventSource:ResetCompressedHeader():this
8 ( 8.00% of base) : 33435.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ReInitialize(int):this
8 ( 8.00% of base) : 34008.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
8 ( 3.85% of base) : 33449.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseCrefAttribute(byref,byref,byref):this
8 ( 3.85% of base) : 33450.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseNameAttribute(byref,byref,byref):this
24 ( 3.85% of base) : 33675.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanType(byref):int:this
4 ( 3.70% of base) : 24896.dasm - Microsoft.CodeAnalysis.CSharp.CSharpExtensions:GetForEachStatementInfo(Microsoft.CodeAnalysis.SemanticModel,Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax):Microsoft.CodeAnalysis.CSharp.ForEachStatementInfo
4 ( 3.70% of base) : 24561.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetForEachStatementInfo(Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax):Microsoft.CodeAnalysis.CSharp.ForEachStatementInfo:this
24 ( 3.59% of base) : 33458.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlCDataSection():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCDataSectionSyntax:this
4 ( 3.57% of base) : 157411.dasm - Enumerator[__Canon,Nullable`1][System.__Canon,System.Nullable`1[System.Int32]]:Reset():this
8 ( 3.51% of base) : 33626.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
8 ( 3.45% of base) : 214197.dasm - System.Security.Cryptography.ECDsaCng:ExportExplicitParameters(bool):System.Security.Cryptography.ECParameters:this
32 ( 3.39% of base) : 33459.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlProcessingInstruction():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlProcessingInstructionSyntax:this
8 ( 3.33% of base) : 33379.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseLogicalAnd():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
8 ( 3.33% of base) : 33378.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseLogicalOr():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
4 ( 3.23% of base) : 157421.dasm - Enumerator[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[Byte,Nullable`1]):this
4 ( 3.12% of base) : 157414.dasm - Enumerator[__Canon,Nullable`1][System.__Canon,System.Nullable`1[System.Int32]]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,Nullable`1]):this
20 ( 2.94% of base) : 33457.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlComment():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCommentSyntax:this
8 ( 2.70% of base) : 33380.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseEquality():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
16 ( 2.65% of base) : 228527.dasm - ILStubClass:IL_STUB_PInvoke(CRYPTUI_VIEWCERTIFICATE_STRUCTW,long):bool
Top method improvements (percentages):
-64 (-32.00% of base) : 53999.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
-28 (-30.43% of base) : 73320.dasm - CandidateAnalysisResult:.ctor(Candidate,ubyte):this
-32 (-23.53% of base) : 54021.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
-16 (-22.22% of base) : 73321.dasm - CandidateAnalysisResult:.ctor(Candidate):this
-16 (-14.29% of base) : 151812.dasm - Microsoft.DiaSymReader.ComMemoryStream:Microsoft.DiaSymReader.IUnsafeComStream.Stat(byref,int):this
-16 (-14.29% of base) : 80378.dasm - Roslyn.Utilities.ComMemoryStream:Roslyn.Utilities.IUnsafeComStream.Stat(byref,int):this
-8 (-10.53% of base) : 212075.dasm - BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO:Create():BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
-12 (-9.09% of base) : 191532.dasm - System.Collections.Generic.SparseArrayBuilder`1[Byte][System.Byte]:.ctor(bool):this
-8 (-6.67% of base) : 191525.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
-12 (-6.38% of base) : 33989.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
-24 (-6.25% of base) : 34016.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
-4 (-5.56% of base) : 33437.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ResetMode(int):this
-4 (-5.56% of base) : 33994.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:set_Mode(int):this
-4 (-4.55% of base) : 33436.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:SetMode(int):int:this
-20 (-4.50% of base) : 22898.dasm - Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.UnaryOperatorAnalysisResult:this
-8 (-3.57% of base) : 115298.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:GetEnumerator():Enumerator:this
-4 (-3.33% of base) : 201256.dasm - System.Net.Sockets.Socket:ReturnSocketAsyncEventArgs(TaskSocketAsyncEventArgs`1[Int32],bool):this
-12 (-3.00% of base) : 213439.dasm - ECDiffieHellmanCngPublicKey:ExportParameters():System.Security.Cryptography.ECParameters:this
-4 (-2.94% of base) : 201534.dasm - AwaitableSocketAsyncEventArgs:Release():this
-4 (-2.86% of base) : 112402.dasm - System.Diagnostics.CounterSample:.cctor()
349 total methods with Code Size differences (139 improved, 210 regressed), 123 unchanged.

libraries_tests.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 117602000 (overridden on cmd)
Total bytes of diff: 117599136 (overridden on cmd)
Total bytes of delta: -2864 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs

Top file regressions (bytes):
48 : 200990.dasm (2.18% of base)
40 : 72162.dasm (0.69% of base)
40 : 70869.dasm (1.04% of base)
36 : 72165.dasm (2.37% of base)
32 : 70902.dasm (1.27% of base)
28 : 72163.dasm (0.50% of base)
28 : 72164.dasm (0.93% of base)
24 : 70870.dasm (0.42% of base)
24 : 196032.dasm (1.34% of base)
24 : 123740.dasm (0.58% of base)
24 : 2706.dasm (0.43% of base)
24 : 197885.dasm (1.34% of base)
20 : 70962.dasm (0.88% of base)
20 : 70871.dasm (0.66% of base)
20 : 70872.dasm (1.31% of base)
16 : 70959.dasm (0.88% of base)
16 : 2690.dasm (0.46% of base)
16 : 2705.dasm (0.52% of base)
16 : 10904.dasm (0.38% of base)
12 : 102372.dasm (0.42% of base)
Top file improvements (bytes):
-768 : 311400.dasm (-6.17% of base)
-188 : 15932.dasm (-6.84% of base)
-184 : 17969.dasm (-1.30% of base)
-180 : 311434.dasm (-4.99% of base)
-144 : 197630.dasm (-2.75% of base)
-144 : 195487.dasm (-2.75% of base)
-144 : 330154.dasm (-2.75% of base)
-96 : 99842.dasm (-3.04% of base)
-80 : 95558.dasm (-0.96% of base)
-80 : 244768.dasm (-1.43% of base)
-72 : 15950.dasm (-3.94% of base)
-72 : 142747.dasm (-8.65% of base)
-60 : 153430.dasm (-0.38% of base)
-52 : 17906.dasm (-0.47% of base)
-48 : 341736.dasm (-0.80% of base)
-44 : 243505.dasm (-0.27% of base)
-44 : 16355.dasm (-1.81% of base)
-36 : 141851.dasm (-1.91% of base)
-32 : 264089.dasm (-5.37% of base)
-32 : 142754.dasm (-1.27% of base)
478 total files with Code Size differences (287 improved, 191 regressed), 166 unchanged.
Top method regressions (bytes):
48 ( 2.18% of base) : 200990.dasm - System.Security.Cryptography.X509Certificates.Tests.CertificateCreation.EccTestData:.cctor()
40 ( 1.04% of base) : 70869.dasm - System.Tests.DateOnlyTests:BasicFormatParseTest()
40 ( 0.69% of base) : 72162.dasm - System.Tests.TimeOnlyTests:BasicFormatParseTest()
36 ( 2.37% of base) : 72165.dasm - System.Tests.TimeOnlyTests:InvalidFormatsTest()
32 ( 1.27% of base) : 70902.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_O(System.DateTime,System.String)
28 ( 0.50% of base) : 72163.dasm - System.Tests.TimeOnlyTests:FormatParseTest()
28 ( 0.93% of base) : 72164.dasm - System.Tests.TimeOnlyTests:OAndRFormatsTest()
24 ( 0.58% of base) : 123740.dasm - <ProcessTargetStack>d__23:MoveNext():this
24 ( 0.43% of base) : 2706.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ValidateReverseReferences(System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]])
24 ( 1.34% of base) : 196032.dasm - System.Security.Cryptography.Tests.EccTestData:.cctor()
24 ( 1.34% of base) : 197885.dasm - System.Security.Cryptography.Tests.EccTestData:.cctor()
24 ( 0.42% of base) : 70870.dasm - System.Tests.DateOnlyTests:FormatParseTest()
20 ( 1.31% of base) : 70872.dasm - System.Tests.DateOnlyTests:InvalidFormatsTest()
20 ( 0.66% of base) : 70871.dasm - System.Tests.DateOnlyTests:OAndRFormatsTest()
20 ( 0.88% of base) : 70962.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_R(System.DateTime,System.String)
16 ( 0.38% of base) : 10904.dasm - Microsoft.CodeAnalysis.Diagnostics.SkippedHostAnalyzersInfo:Create(Microsoft.CodeAnalysis.Diagnostics.HostDiagnosticAnalyzers,System.Collections.Generic.IReadOnlyList`1[[Microsoft.CodeAnalysis.Diagnostics.AnalyzerReference, Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.String,Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzerInfoCache):Microsoft.CodeAnalysis.Diagnostics.SkippedHostAnalyzersInfo
16 ( 0.46% of base) : 2690.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ComputeReverseReferencesMap():System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this
16 ( 0.52% of base) : 2705.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ValidateForwardReferences(System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]])
16 ( 0.88% of base) : 70959.dasm - System.Tests.DateTimeTests:ParseExact_ToStringThenParseExactRoundtrip_Success(System.String)
12 ( 3.30% of base) : 78061.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__0():System.Object:this
Top method improvements (bytes):
-768 (-6.17% of base) : 311400.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4EqualsNanTest():this
-188 (-6.84% of base) : 15932.dasm - <DescendInheritanceTreeAsync>d__6:MoveNext():this
-184 (-1.30% of base) : 17969.dasm - <CreateIndexAsync>d__8:MoveNext():this
-180 (-4.99% of base) : 311434.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4IsIdentityTest():this
-144 (-2.75% of base) : 197630.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
-144 (-2.75% of base) : 195487.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
-144 (-2.75% of base) : 330154.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
-96 (-3.04% of base) : 99842.dasm - System.Text.Json.Serialization.Tests.ReadValueTests:ReadClasses()
-80 (-1.43% of base) : 244768.dasm - Microsoft.DotNet.ProjectModel.Resolution.LibraryManager:GetAllDiagnostics():System.Collections.Generic.IList`1[[Microsoft.DotNet.ProjectModel.DiagnosticMessage, Microsoft.DotNet.ProjectModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]]:this
-80 (-0.96% of base) : 95558.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:SkipTest()
-72 (-3.94% of base) : 15950.dasm - <AddDescendantMetadataTypesInProjectAsync>d__16:MoveNext():this
-72 (-8.65% of base) : 142747.dasm - <PushAll>d__19:MoveNext():this
-60 (-0.38% of base) : 153430.dasm - System.Data.Tests.DataTableTest2:Select_ByFilter():this
-52 (-0.47% of base) : 17906.dasm - <IdentifyConflictsAsync>d__19:MoveNext():this
-48 (-0.80% of base) : 341736.dasm - System.Tests.ValueTupleTests:EightTuples()
-44 (-1.81% of base) : 16355.dasm - <FindReferencesThroughAliasSymbolsAsync>d__26:MoveNext():this
-44 (-0.27% of base) : 243505.dasm - <ResolveCoreAsync>d__50:MoveNext():this
-36 (-1.91% of base) : 141851.dasm - <SendAsync>d__8:MoveNext():this
-32 (-5.37% of base) : 264089.dasm - <<ZeroByteWrite_OtherDataReceivedSuccessfully>b__0>d:MoveNext():this
-32 (-1.27% of base) : 142754.dasm - <PushPackageToServer>d__24:MoveNext():this
Top method regressions (percentages):
12 ( 4.41% of base) : 176181.dasm - System.SpanTests.SpanTests:ClearValueTypeWithoutReferencesPointerSize()
12 ( 3.30% of base) : 78061.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__0():System.Object:this
12 ( 3.30% of base) : 78062.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__1():System.Object:this
12 ( 3.19% of base) : 76136.dasm - <>c__DisplayClass18_0:<InvalidFormatsTest>b__1():System.Object:this
12 ( 3.16% of base) : 76135.dasm - <>c__DisplayClass18_0:<InvalidFormatsTest>b__0():System.Object:this
8 ( 2.86% of base) : 114921.dasm - Microsoft.Build.Tasks.Touch:GetTouchDateTime():System.DateTime:this
8 ( 2.82% of base) : 286125.dasm - <>c__DisplayClass0_0:<TestJapaneseCalendarDateParsing>b__0():System.Object:this
8 ( 2.82% of base) : 76468.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__0():System.Object:this
8 ( 2.82% of base) : 76469.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__1():System.Object:this
8 ( 2.82% of base) : 76481.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__0():System.Object:this
8 ( 2.82% of base) : 76482.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__1():System.Object:this
4 ( 2.70% of base) : 133427.dasm - Microsoft.Diagnostics.Runtime.DacInterface.SOSDac:GetThreadData(long,byref):bool:this
8 ( 2.67% of base) : 76462.dasm - <>c__DisplayClass124_0:<ParseExact_ToStringThenParseExact_RoundtripWithOtherFormat_Fails>b__2():System.Object:this
8 ( 2.60% of base) : 76470.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__2():System.Object:this
8 ( 2.60% of base) : 76483.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__2():System.Object:this
8 ( 2.60% of base) : 70946.dasm - System.Tests.DateTimeTests:Parse_String()
8 ( 2.56% of base) : 70947.dasm - System.Tests.DateTimeTests:Parse_String_FormatProvider()
8 ( 2.56% of base) : 70948.dasm - System.Tests.DateTimeTests:Parse_String_FormatProvider_DateTimeStyles()
36 ( 2.37% of base) : 72165.dasm - System.Tests.TimeOnlyTests:InvalidFormatsTest()
8 ( 2.27% of base) : 70906.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_CustomFormatProvider()
Top method improvements (percentages):
-16 (-26.67% of base) : 7416.dasm - Microsoft.CodeAnalysis.Rename.ConflictResolution:.ctor(System.String):this
-4 (-12.50% of base) : 91781.dasm - <>c:<get_SimpleTestStructWithNullableGenericStructCollectionWrappers>b__858_0():System.Text.Json.Serialization.Tests.SimpleTestStructWithNullableGenericStructCollectionWrappers:this
-24 (-12.24% of base) : 130274.dasm - CodeShapeAnalyzer:.ctor(Microsoft.CodeAnalysis.Formatting.FormattingContext,bool,Microsoft.CodeAnalysis.Formatting.TriviaList):this
-72 (-8.65% of base) : 142747.dasm - <PushAll>d__19:MoveNext():this
-188 (-6.84% of base) : 15932.dasm - <DescendInheritanceTreeAsync>d__6:MoveNext():this
-8 (-6.67% of base) : 125318.dasm - Microsoft.CodeAnalysis.CSharp.Formatting.NewLineUserSettingFormattingRule:.ctor():this
-768 (-6.17% of base) : 311400.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4EqualsNanTest():this
-32 (-5.37% of base) : 264089.dasm - <<ZeroByteWrite_OtherDataReceivedSuccessfully>b__0>d:MoveNext():this
-180 (-4.99% of base) : 311434.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4IsIdentityTest():this
-4 (-4.55% of base) : 197563.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
-4 (-4.55% of base) : 195384.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
-4 (-4.55% of base) : 330088.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
-4 (-4.55% of base) : 197704.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
-4 (-4.55% of base) : 195553.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
-4 (-4.55% of base) : 330260.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
-72 (-3.94% of base) : 15950.dasm - <AddDescendantMetadataTypesInProjectAsync>d__16:MoveNext():this
-8 (-3.57% of base) : 180560.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:GetEnumerator():Enumerator:this
-8 (-3.51% of base) : 236997.dasm - LamarCompiler.Util.StringExtensions:ToDateTime(System.String):System.DateTime
-8 (-3.39% of base) : 106574.dasm - MyDateTimeConverter:Read(byref,System.Type,System.Text.Json.JsonSerializerOptions):System.DateTime:this
-96 (-3.04% of base) : 99842.dasm - System.Text.Json.Serialization.Tests.ReadValueTests:ReadClasses()
478 total methods with Code Size differences (287 improved, 191 regressed), 166 unchanged.

Author:echesakovMSFT
Assignees:-
Labels:

arch-arm64, area-CodeGen-coreclr

Milestone:-

@echesakovechesakov self-assigned this Oct 30, 2021
@echesakovechesakov added this to the 7.0.0 milestone Oct 30, 2021
@echesakov

echesakov commented Oct 30, 2021

Copy link
Copy Markdown
ContributorAuthor

I am also adding micro benchmarks to test performance impact of changes surrounding GT_STOREBLK (InitBlock/CopyBlock) in dotnet/performance#2154

FWIW, the current change is mostly CQ improvements with little effect on the performance. As you can notice, I am not changing INITBLK_UNROLL_LIMIT/CPBLK_UNROLL_LIMIT, but I am planning to do this as a follow up.

The following are the results of running the new micro benchmarks with the proposed increased INITBLK_UNROLL_LIMIT/CPBLK_UNROLL_LIMIT (to 128 bytes). There is 4% improvement for CopyBlock64 due to using SIMD instructions but the main performance gain would come from large block sizes due to eliminating a helper call.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioAllocated
InitBlockAllZeros8Job-GVPHVU\base\Core_Root\corerun.exe0.3701 ns0.0017 ns0.0014 ns0.3697 ns0.3687 ns0.3738 ns1.00-
InitBlockAllZeros8Job-LADWZL\diff\Core_Root\corerun.exe0.3672 ns0.0011 ns0.0009 ns0.3673 ns0.3662 ns0.3692 ns0.99-
InitBlockAllOnes8Job-GVPHVU\base\Core_Root\corerun.exe0.4676 ns0.0023 ns0.0018 ns0.4670 ns0.4659 ns0.4720 ns1.00-
InitBlockAllOnes8Job-LADWZL\diff\Core_Root\corerun.exe0.4571 ns0.0009 ns0.0007 ns0.4569 ns0.4562 ns0.4590 ns0.98-
CopyBlock8Job-GVPHVU\base\Core_Root\corerun.exe0.3531 ns0.0009 ns0.0008 ns0.3527 ns0.3519 ns0.3545 ns1.00-
CopyBlock8Job-LADWZL\diff\Core_Root\corerun.exe0.3503 ns0.0034 ns0.0030 ns0.3489 ns0.3477 ns0.3574 ns0.99-
InitBlockAllZeros16Job-GVPHVU\base\Core_Root\corerun.exe0.3236 ns0.0018 ns0.0016 ns0.3230 ns0.3220 ns0.3266 ns1.00-
InitBlockAllZeros16Job-LADWZL\diff\Core_Root\corerun.exe0.3249 ns0.0004 ns0.0003 ns0.3250 ns0.3244 ns0.3253 ns1.00-
InitBlockAllOnes16Job-GVPHVU\base\Core_Root\corerun.exe0.9313 ns0.0013 ns0.0011 ns0.9311 ns0.9300 ns0.9334 ns1.00-
InitBlockAllOnes16Job-LADWZL\diff\Core_Root\corerun.exe0.9325 ns0.0047 ns0.0044 ns0.9317 ns0.9270 ns0.9430 ns1.00-
CopyBlock16Job-GVPHVU\base\Core_Root\corerun.exe0.3448 ns0.0012 ns0.0009 ns0.3445 ns0.3436 ns0.3468 ns1.00-
CopyBlock16Job-LADWZL\diff\Core_Root\corerun.exe0.3449 ns0.0011 ns0.0010 ns0.3447 ns0.3436 ns0.3469 ns1.00-
InitBlockAllZeros32Job-GVPHVU\base\Core_Root\corerun.exe1.8890 ns0.0048 ns0.0045 ns1.8864 ns1.8833 ns1.8969 ns1.00-
InitBlockAllZeros32Job-LADWZL\diff\Core_Root\corerun.exe1.8841 ns0.0033 ns0.0031 ns1.8827 ns1.8808 ns1.8913 ns1.00-
InitBlockAllOnes32Job-GVPHVU\base\Core_Root\corerun.exe1.8828 ns0.0030 ns0.0027 ns1.8824 ns1.8791 ns1.8881 ns1.00-
InitBlockAllOnes32Job-LADWZL\diff\Core_Root\corerun.exe1.8914 ns0.0072 ns0.0067 ns1.8884 ns1.8837 ns1.9048 ns1.00-
CopyBlock32Job-GVPHVU\base\Core_Root\corerun.exe1.8895 ns0.0089 ns0.0079 ns1.8873 ns1.8823 ns1.9060 ns1.00-
CopyBlock32Job-LADWZL\diff\Core_Root\corerun.exe1.8958 ns0.0131 ns0.0122 ns1.8887 ns1.8871 ns1.9192 ns1.00-
InitBlockAllZeros64Job-GVPHVU\base\Core_Root\corerun.exe1.8940 ns0.0121 ns0.0101 ns1.8895 ns1.8854 ns1.9205 ns1.00-
InitBlockAllZeros64Job-LADWZL\diff\Core_Root\corerun.exe1.9087 ns0.0058 ns0.0052 ns1.9063 ns1.9039 ns1.9217 ns1.01-
InitBlockAllOnes64Job-GVPHVU\base\Core_Root\corerun.exe1.8885 ns0.0027 ns0.0024 ns1.8885 ns1.8850 ns1.8937 ns1.00-
InitBlockAllOnes64Job-LADWZL\diff\Core_Root\corerun.exe1.9073 ns0.0037 ns0.0033 ns1.9074 ns1.9031 ns1.9140 ns1.01-
CopyBlock64Job-GVPHVU\base\Core_Root\corerun.exe2.0830 ns0.0070 ns0.0062 ns2.0827 ns2.0750 ns2.0960 ns1.00-
CopyBlock64Job-LADWZL\diff\Core_Root\corerun.exe2.0035 ns0.0100 ns0.0088 ns2.0012 ns1.9922 ns2.0232 ns0.96-
InitBlockAllZeros128Job-GVPHVU\base\Core_Root\corerun.exe8.5055 ns0.0370 ns0.0346 ns8.5088 ns8.4672 ns8.5582 ns1.00-
InitBlockAllZeros128Job-LADWZL\diff\Core_Root\corerun.exe2.5949 ns0.0067 ns0.0056 ns2.5943 ns2.5853 ns2.6062 ns0.31-
InitBlockAllOnes128Job-GVPHVU\base\Core_Root\corerun.exe8.4912 ns0.0397 ns0.0352 ns8.4750 ns8.4588 ns8.5807 ns1.00-
InitBlockAllOnes128Job-LADWZL\diff\Core_Root\corerun.exe2.5902 ns0.0063 ns0.0053 ns2.5906 ns2.5811 ns2.6012 ns0.31-
CopyBlock128Job-GVPHVU\base\Core_Root\corerun.exe8.2088 ns0.0748 ns0.0700 ns8.1700 ns8.1546 ns8.3845 ns1.00-
CopyBlock128Job-LADWZL\diff\Core_Root\corerun.exe2.6461 ns0.0086 ns0.0072 ns2.6425 ns2.6402 ns2.6638 ns0.32-

@echesakov
echesakovforce-pushed the Arm64-Unroll-Init-Block branch from 94eaaaa to 3c84b5aCompareOctober 30, 2021 18:28
@echesakov
echesakovforce-pushed the Arm64-Unroll-Init-Block branch from 929dc5d to 5bc4a6eCompareNovember 10, 2021 03:00
@echesakov
echesakovforce-pushed the Arm64-Unroll-Init-Block branch from 5bc4a6e to 653c8c0CompareNovember 10, 2021 23:07
@echesakovechesakov changed the title Use SIMD operations in genCodeForInitBlkUnroll and increase INITBLK_UNROLL_LIMIT to 128 bytesUse SIMD operations in InitBlkUnroll/CopyBlkUnroll and increase unroll limit up to 128 bytesNov 11, 2021
@dotnetdotnet deleted a comment from azure-pipelinesBotNov 11, 2021
@echesakov
echesakovforce-pushed the Arm64-Unroll-Init-Block branch from 653c8c0 to 7063255CompareNovember 23, 2021 03:35
@echesakov
echesakov marked this pull request as ready for review November 30, 2021 16:40
@dotnetdotnet deleted a comment from azure-pipelinesBotDec 3, 2021
@dotnetdotnet deleted a comment from azure-pipelinesBotDec 3, 2021
@echesakov
echesakovforce-pushed the Arm64-Unroll-Init-Block branch from 7063255 to c3566b1CompareDecember 3, 2021 03:00
@echesakov

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@dotnetdotnet deleted a comment from azure-pipelinesBotDec 3, 2021
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@echesakov

Copy link
Copy Markdown
ContributorAuthor

@BruceForstall@EgorBo PTAL
cc @dotnet/jit-contrib

@ghostghost added the needs-author-action An issue or pull request that requires more info or actions from the author. label Dec 8, 2021
@ghost

Copy link
Copy Markdown

This pull request has been automatically marked no recent activity because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will remove no recent activity.

…r are contained and can potentially occupy up to 2 int registers
@ghostghost removed no-recent-activity needs-author-action An issue or pull request that requires more info or actions from the author. labels Dec 23, 2021
@echesakov

Copy link
Copy Markdown
ContributorAuthor

@BruceForstall Please take another look. I think I addressed your feedback.

@BruceForstallBruceForstall left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@echesakov

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@echesakov
echesakov merged commit acde546 into dotnet:mainDec 28, 2021

@sandreenkosandreenko left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nice solution, it looks like it was a lot of fun.

static unsigned GetRegSizeAtLeastBytes(unsigned byteCount)
{
assert(byteCount != 0);
assert(byteCount < 16);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

would not be assert(byteCount <= 16); less confusing?


void StorePairRegs(int offset, unsigned regSizeBytes)
{
canEncodeAllStores =

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit canEncodeAllStores &| ? It is safe for bool-s in C++.

bool canEncodeAllStores;
};

class ProducingStreamBaseInstrs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

does base mean no-simd?


private:
template <class InstructionStream>
void UnrollInitBlock(InstructionStream& instrStream, int initialRegSizeBytes) const

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

intReg1 = node->ExtractTempReg(RBM_ALLINT);
intReg2 = node->GetSingleTempReg(RBM_ALLINT);
break;
default:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

are this default and the next one for simdRegCountunreached()?

{
public:
ProducingStreamBaseInstrs(regNumber intReg1, regNumber intReg2, regNumber addrReg, emitter* emitter)
: intReg1(intReg1), intReg2(intReg2), addrReg(addrReg), emitter(emitter)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should all reg be not REG_NA or does it allow some to be REG_NA?

@echesakov
echesakov deleted the Arm64-Unroll-Init-Block branch January 10, 2022 20:09
@ghostghost locked as resolved and limited conversation to collaborators Feb 10, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

[Arm64] Use stp (SIMD) in genCodeForInitBlkUnroll and genCodeForCpBlkUnroll

3 participants

@echesakov@BruceForstall@sandreenko