Skip to content

JIT: Stop reordering arguments throwing distinct exceptions - #70893

Merged
jakobbotsch merged 14 commits into
dotnet:mainfrom
jakobbotsch:fix-63905
Jun 22, 2022
Merged

JIT: Stop reordering arguments throwing distinct exceptions#70893
jakobbotsch merged 14 commits into
dotnet:mainfrom
jakobbotsch:fix-63905

Conversation

@jakobbotsch

@jakobbotschjakobbotsch commented Jun 17, 2022

Copy link
Copy Markdown
Member

Implement a precise scan for arguments that may throw exceptions which
collects the exceptions they may throw. When we see two such interfering
sets, make sure that the first argument is evaluated to a temp so that
they do not get reordered by sort.

Fix#63905

I think there is still low hanging fruit in optimizing the sort itself but I am focusing on fixing the correctness issues here.

I expect once this is merged we can loosen up some of the forward sub restrictions around call args.

Implement a precise scan for arguments that may throw exceptions which
collects the exceptions they may throw. When we see two such interfering
sets, make sure that the first argument is evaluated to a temp so that
they do not get reordered by sort.
Fixdotnet#63905
@ghostghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jun 17, 2022
@ghost

Copy link
Copy Markdown

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

Issue Details

Implement a precise scan for arguments that may throw exceptions which
collects the exceptions they may throw. When we see two such interfering
sets, make sure that the first argument is evaluated to a temp so that
they do not get reordered by sort.

Fix #63905

Also optimistically see if this is enough to relax some of the forward sub constraints...

Author:jakobbotsch
Assignees:-
Labels:

area-CodeGen-coreclr

Milestone:-

@jakobbotsch
jakobbotsch marked this pull request as ready for review June 21, 2022 19:26
@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

cc @dotnet/jit-contrib PTAL @AndyAyersMS

Diffs. Some small regressions and a minor TP impact, as expected.

@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr jitstress, runtime-coreclr libraries-jitstress

@azure-pipelines

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

@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

jitstress runs hit a bunch of #71023 so will retry.

@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr jitstress, runtime-coreclr libraries-jitstress

@azure-pipelines

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

@AndyAyersMS

Copy link
Copy Markdown
Member

Does allowing this slight amount of reordering in the face of exceptions provide benefits over not allowing any reordering at all? I get that it would be very difficult for end users to figure out which arg tree is responsible, especially so if the tree can't have global effects, but I wonder what the difference is between this and just relying on GTF_EXCEPT to block reordering.

@jakobbotsch

Copy link
Copy Markdown
MemberAuthor

Does allowing this slight amount of reordering in the face of exceptions provide benefits over not allowing any reordering at all? I get that it would be very difficult for end users to figure out which arg tree is responsible, especially so if the tree can't have global effects, but I wonder what the difference is between this and just relying on GTF_EXCEPT to block reordering.

Yes, this results in larger regressions (it was the first thing I tried):

aspnet.run.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 22963383 (overridden on cmd)
Total bytes of diff: 23011338 (overridden on cmd)
Total bytes of delta: 47955 (0.21 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs

Top file regressions (bytes):
546 : 29141.dasm (14.28% of base)
523 : 44071.dasm (15.73% of base)
515 : 56652.dasm (13.85% of base)
501 : 23542.dasm (10.05% of base)
429 : 56598.dasm (13.17% of base)
426 : 44008.dasm (14.37% of base)
403 : 43956.dasm (27.34% of base)
403 : 56551.dasm (24.75% of base)
342 : 56601.dasm (5.37% of base)
331 : 27289.dasm (7.00% of base)
330 : 44013.dasm (5.50% of base)
292 : 22174.dasm (4.46% of base)
250 : 28734.dasm (3.69% of base)
249 : 20910.dasm (3.05% of base)
240 : 49309.dasm (7.71% of base)
240 : 34080.dasm (6.69% of base)
193 : 43208.dasm (7.92% of base)
193 : 49797.dasm (5.86% of base)
189 : 40193.dasm (5.64% of base)
186 : 34461.dasm (4.74% of base)
Top file improvements (bytes):
-17 : 60003.dasm (-9.94% of base)
-14 : 1361.dasm (-2.63% of base)
-13 : 49219.dasm (-1.10% of base)
-13 : 4817.dasm (-0.51% of base)
-13 : 40371.dasm (-8.18% of base)
-13 : 44812.dasm (-0.67% of base)
-13 : 12033.dasm (-0.59% of base)
-12 : 4179.dasm (-1.18% of base)
-12 : 26340.dasm (-0.25% of base)
-12 : 63991.dasm (-2.98% of base)
-12 : 66608.dasm (-2.98% of base)
-12 : 11500.dasm (-1.26% of base)
-11 : 41614.dasm (-0.42% of base)
-11 : 18776.dasm (-1.74% of base)
-11 : 36929.dasm (-0.64% of base)
-11 : 2273.dasm (-1.30% of base)
-11 : 29480.dasm (-0.37% of base)
-11 : 33693.dasm (-0.62% of base)
-11 : 14319.dasm (-0.72% of base)
-11 : 34246.dasm (-0.57% of base)
2749 total files with Code Size differences (195 improved, 2554 regressed), 676 unchanged.
Top method regressions (bytes):
546 (14.28% of base) : 29141.dasm - Uri:GetUriPartsFromUserString(int):String:this
523 (15.73% of base) : 44071.dasm - <>c__DisplayClass133_0:<EmitTryMatchAtCurrentPosition>g__EmitLoop|28(RegexNode):this
515 (13.85% of base) : 56652.dasm - <>c__DisplayClass133_0:<EmitTryMatchAtCurrentPosition>g__EmitLoop|28(RegexNode):this
501 (10.05% of base) : 23542.dasm - Uri:GetUriPartsFromUserString(int):String:this
429 (13.17% of base) : 56598.dasm - <>c__DisplayClass133_0:<EmitTryMatchAtCurrentPosition>g__EmitSingleCharLoop|21(RegexNode,RegexNode,bool):this
426 (14.37% of base) : 44008.dasm - <>c__DisplayClass133_0:<EmitTryMatchAtCurrentPosition>g__EmitSingleCharLoop|21(RegexNode,RegexNode,bool):this
403 (27.34% of base) : 43956.dasm - <>c__DisplayClass133_0:<EmitTryMatchAtCurrentPosition>g__EmitAnchors|18(RegexNode):this
403 (24.75% of base) : 56551.dasm - <>c__DisplayClass133_0:<EmitTryMatchAtCurrentPosition>g__EmitAnchors|18(RegexNode):this
342 ( 5.37% of base) : 56601.dasm - <>c__DisplayClass133_0:<EmitTryMatchAtCurrentPosition>g__EmitSingleCharAtomicLoop|25(RegexNode):this
331 ( 7.00% of base) : 27289.dasm - XmlTextReaderImpl:ParseXmlDeclaration(bool):bool:this
330 ( 5.50% of base) : 44013.dasm - <>c__DisplayClass133_0:<EmitTryMatchAtCurrentPosition>g__EmitSingleCharAtomicLoop|25(RegexNode):this
292 ( 4.46% of base) : 22174.dasm - XmlTextReaderImpl:ParseXmlDeclaration(bool):bool:this
250 ( 3.69% of base) : 28734.dasm - <SendAsync>d__6:MoveNext():this
249 ( 3.05% of base) : 20910.dasm - <SendAsync>d__6:MoveNext():this
240 ( 7.71% of base) : 49309.dasm - <<Open>g__OpenCore|193_1>d:MoveNext():this
240 ( 6.69% of base) : 34080.dasm - <<Open>g__OpenCore|193_1>d:MoveNext():this
193 ( 5.86% of base) : 49797.dasm - <<Write>g__WriteExecute|94_0>d:MoveNext():this
193 ( 7.92% of base) : 43208.dasm - ControllerActionInvoker:Next(byref,byref,byref,byref):Task:this
189 ( 5.64% of base) : 40193.dasm - ControllerActionInvoker:Next(byref,byref,byref,byref):Task:this
186 ( 4.74% of base) : 34461.dasm - <<Write>g__WriteExecute|94_0>d:MoveNext():this
Top method improvements (bytes):
-17 (-9.94% of base) : 60003.dasm - ArraySortHelper`1:SwapIfGreater(Span`1,Comparison`1,int,int)
-14 (-2.63% of base) : 1361.dasm - StringBuilder:AppendWithExpansion(byref,int):this
-13 (-0.67% of base) : 44812.dasm - <<ReadAsync>g__Core|38_0>d:MoveNext():this
-13 (-1.10% of base) : 49219.dasm - <OpenAsync>d__66:MoveNext():this
-13 (-8.18% of base) : 40371.dasm - ArraySortHelper`1:SwapIfGreater(Span`1,Comparison`1,int,int)
-13 (-0.51% of base) : 4817.dasm - Socket:Dispose(bool):this
-13 (-0.59% of base) : 12033.dasm - Socket:Dispose(bool):this
-12 (-0.25% of base) : 26340.dasm - <WriteHeadersAsync>d__56:MoveNext():this
-12 (-2.98% of base) : 63991.dasm - ArraySortHelper`1:SwapIfGreater(Span`1,Comparison`1,int,int)
-12 (-2.98% of base) : 66608.dasm - ArraySortHelper`1:SwapIfGreater(Span`1,Comparison`1,int,int)
-12 (-1.18% of base) : 4179.dasm - SocketAsyncEventArgs:DoOperationAccept(Socket,SafeSocketHandle,SafeSocketHandle,CancellationToken):int:this
-12 (-1.26% of base) : 11500.dasm - SocketAsyncEventArgs:DoOperationAccept(Socket,SafeSocketHandle,SafeSocketHandle,CancellationToken):int:this
-11 (-0.37% of base) : 29480.dasm - <CopyAsync>d__3:MoveNext():this
-11 (-0.59% of base) : 63214.dasm - <ExecuteAsync>d__21:MoveNext():this
-11 (-0.59% of base) : 11852.dasm - <ExecuteAsync>d__6:MoveNext():this
-11 (-0.39% of base) : 42359.dasm - <FlattenSelectors>d__0:MoveNext():bool:this
-11 (-0.57% of base) : 34246.dasm - <LoadDatabaseInfo>d__194:MoveNext():this
-11 (-0.65% of base) : 49530.dasm - <LoadDatabaseInfo>d__194:MoveNext():this
-11 (-0.34% of base) : 33807.dasm - <MoveNextAsync>d__18:MoveNext():this
-11 (-0.64% of base) : 36929.dasm - <RenderPageAsync>d__19:MoveNext():this
Top method regressions (percentages):
117 (59.69% of base) : 29081.dasm - HttpConnectionKey:GetHashCode():int:this
117 (53.18% of base) : 23486.dasm - HttpConnectionKey:GetHashCode():int:this
45 (47.37% of base) : 23056.dasm - DataSourceDependentCache`1:EnsureInitialized():__Canon:this
45 (47.37% of base) : 28502.dasm - DataSourceDependentCache`1:EnsureInitialized():__Canon:this
34 (46.58% of base) : 42914.dasm - GroupedEnumerable`2:GetEnumerator():IEnumerator`1:this
34 (46.58% of base) : 30745.dasm - GroupedEnumerable`2:GetEnumerator():IEnumerator`1:this
32 (45.71% of base) : 34265.dasm - NpgsqlDatabaseInfoCacheKey:GetHashCode():int:this
32 (45.71% of base) : 49559.dasm - NpgsqlDatabaseInfoCacheKey:GetHashCode():int:this
46 (42.20% of base) : 33231.dasm - ChangeTrackerFactory:Create():ChangeTracker:this
46 (42.20% of base) : 48185.dasm - ChangeTrackerFactory:Create():ChangeTracker:this
37 (39.36% of base) : 17386.dasm - PhysicalFileProvider:get_FileWatcher():PhysicalFilesWatcher:this
37 (39.36% of base) : 13990.dasm - PhysicalFileProvider:get_FileWatcher():PhysicalFilesWatcher:this
38 (39.18% of base) : 30732.dasm - GroupedEnumerable`2:ToArray():ref:this
38 (39.18% of base) : 42834.dasm - GroupedEnumerable`2:ToArray():ref:this
26 (38.24% of base) : 27584.dasm - ElementScope:WriteFullEndElement(XmlRawWriter):this
26 (37.68% of base) : 27590.dasm - ElementScope:WriteEndElement(XmlRawWriter):this
22 (35.48% of base) : 56763.dasm - <>c__DisplayClass1_0:<.ctor>b__0(__Canon):this
22 (35.48% of base) : 61129.dasm - <>c__DisplayClass1_0:<.ctor>b__0(__Canon):this
26 (34.67% of base) : 41450.dasm - StreamReader:CompressBuffer(int):this
26 (34.67% of base) : 37554.dasm - StreamReader:CompressBuffer(int):this
Top method improvements (percentages):
-10 (-10.53% of base) : 68282.dasm - ControllerActionInvoker:ReleaseResources():ValueTask:this
-10 (-10.53% of base) : 59691.dasm - ControllerActionInvoker:ReleaseResources():ValueTask:this
-10 (-10.53% of base) : 65850.dasm - ControllerActionInvoker:ReleaseResources():ValueTask:this
-10 (-10.53% of base) : 41039.dasm - ControllerActionInvoker:ReleaseResources():ValueTask:this
-10 (-10.53% of base) : 37046.dasm - ControllerActionInvoker:ReleaseResources():ValueTask:this
-17 (-9.94% of base) : 60003.dasm - ArraySortHelper`1:SwapIfGreater(Span`1,Comparison`1,int,int)
-10 (-9.35% of base) : 51706.dasm - NpgsqlWriteBuffer:WriteString(String,int):this
-13 (-8.18% of base) : 40371.dasm - ArraySortHelper`1:SwapIfGreater(Span`1,Comparison`1,int,int)
-9 (-5.23% of base) : 57363.dasm - ArraySortHelper`1:SwapIfGreater(Span`1,Comparison`1,int,int)
-3 (-4.76% of base) : 13546.dasm - <>c:<ExecuteCallback>b__9_0(Object):this
-4 (-3.85% of base) : 29603.dasm - List`1:RemoveAt(int):this
-4 (-3.77% of base) : 21133.dasm - List`1:RemoveAt(int):this
-4 (-3.77% of base) : 67921.dasm - List`1:RemoveAt(int):this
-4 (-3.77% of base) : 65491.dasm - List`1:RemoveAt(int):this
-12 (-2.98% of base) : 63991.dasm - ArraySortHelper`1:SwapIfGreater(Span`1,Comparison`1,int,int)
-12 (-2.98% of base) : 66608.dasm - ArraySortHelper`1:SwapIfGreater(Span`1,Comparison`1,int,int)
-14 (-2.63% of base) : 1361.dasm - StringBuilder:AppendWithExpansion(byref,int):this
-3 (-2.22% of base) : 67808.dasm - HttpResponseStreamWriter:WriteAsync(String):Task:this
-3 (-2.22% of base) : 65417.dasm - HttpResponseStreamWriter:WriteAsync(String):Task:this
-11 (-2.11% of base) : 53647.dasm - ImmutableSortedDictionary`2:AddRange(IEnumerable`1,bool,bool):ImmutableSortedDictionary`2:this
2749 total methods with Code Size differences (195 improved, 2554 regressed), 676 unchanged.

benchmarks.run.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 10695320 (overridden on cmd)
Total bytes of diff: 10696941 (overridden on cmd)
Total bytes of delta: 1621 (0.02 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs

Top file regressions (bytes):
81 : 1619.dasm (0.73% of base)
39 : 6460.dasm (1.01% of base)
37 : 987.dasm (4.64% of base)
34 : 2437.dasm (1.70% of base)
34 : 3093.dasm (1.34% of base)
31 : 8601.dasm (4.16% of base)
29 : 15929.dasm (22.48% of base)
27 : 9358.dasm (15.61% of base)
27 : 13212.dasm (15.43% of base)
26 : 3219.dasm (1.52% of base)
26 : 37150.dasm (28.26% of base)
25 : 2780.dasm (0.70% of base)
25 : 19784.dasm (20.49% of base)
22 : 34804.dasm (14.19% of base)
22 : 10682.dasm (12.94% of base)
21 : 3222.dasm (17.50% of base)
20 : 18852.dasm (0.54% of base)
20 : 11929.dasm (11.90% of base)
20 : 10123.dasm (12.05% of base)
19 : 17546.dasm (15.97% of base)
Top file improvements (bytes):
-107 : 7998.dasm (-3.43% of base)
-30 : 13738.dasm (-9.65% of base)
-18 : 8002.dasm (-0.20% of base)
-11 : 1732.dasm (-2.35% of base)
-11 : 8646.dasm (-3.87% of base)
-11 : 16903.dasm (-2.01% of base)
-10 : 8032.dasm (-1.07% of base)
-8 : 12615.dasm (-13.56% of base)
-8 : 14843.dasm (-0.98% of base)
-8 : 653.dasm (-0.55% of base)
-8 : 16963.dasm (-10.96% of base)
-8 : 15637.dasm (-5.19% of base)
-7 : 23070.dasm (-3.12% of base)
-7 : 4899.dasm (-0.19% of base)
-7 : 14848.dasm (-0.15% of base)
-6 : 13792.dasm (-19.35% of base)
-6 : 2067.dasm (-0.88% of base)
-6 : 9510.dasm (-1.36% of base)
-5 : 3296.dasm (-5.43% of base)
-5 : 7916.dasm (-0.39% of base)
399 total files with Code Size differences (91 improved, 308 regressed), 585 unchanged.
Top method regressions (bytes):
81 ( 0.73% of base) : 1619.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this
39 ( 1.01% of base) : 6460.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this
37 ( 4.64% of base) : 987.dasm - System.Collections.Generic.ArraySortHelper`1[__Canon][System.__Canon]:IntroSort(System.Span`1[__Canon],int,System.Comparison`1[__Canon])
34 ( 1.70% of base) : 2437.dasm - System.Reflection.Emit.MethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.ILGenerator):this
34 ( 1.34% of base) : 3093.dasm - System.Uri:GetUriPartsFromUserString(int):System.String:this
31 ( 4.16% of base) : 8601.dasm - WorkStealingQueue[Int32][System.Int32]:LocalPush(int,byref):this
29 (22.48% of base) : 15929.dasm - System.Collections.Generic.Queue`1[Int32][System.Int32]:Contains(int):bool:this
27 (15.61% of base) : 9358.dasm - System.Collections.Generic.Queue`1[__Canon][System.__Canon]:SetCapacity(int):this
27 (15.43% of base) : 13212.dasm - System.Collections.Generic.Queue`1[Int32][System.Int32]:SetCapacity(int):this
26 (28.26% of base) : 37150.dasm - System.Collections.Generic.Queue`1[__Canon][System.__Canon]:Clear():this
26 ( 1.52% of base) : 3219.dasm - System.Xml.XmlBaseReader:AddXmlnsAttribute(Namespace):XmlAttributeNode:this
25 (20.49% of base) : 19784.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.OverriddenOrHiddenMembersResult:.cctor()
25 ( 0.70% of base) : 2780.dasm - Sigil.Emit`1[__Canon][System.__Canon]:InjectReadOnly():this
22 (12.94% of base) : 10682.dasm - RequestQueue`1[__Canon][System.__Canon]:Grow():this
22 (14.19% of base) : 34804.dasm - System.Collections.Generic.Queue`1[__Canon][System.__Canon]:Contains(System.__Canon):bool:this
21 (17.50% of base) : 3222.dasm - System.Xml.StringHandle:Equals(System.Xml.StringHandle):bool:this
20 ( 0.54% of base) : 18852.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxAndDeclarationManager:AddSyntaxTrees(System.Collections.Generic.IEnumerable`1[[Microsoft.CodeAnalysis.SyntaxTree, Microsoft.CodeAnalysis, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):Microsoft.CodeAnalysis.CSharp.SyntaxAndDeclarationManager:this
20 (12.05% of base) : 10123.dasm - System.Collections.Generic.Deque`1[__Canon][System.__Canon]:Grow():this
20 (11.90% of base) : 11929.dasm - System.Collections.Generic.Deque`1[Int32][System.Int32]:Grow():this
19 (26.03% of base) : 12078.dasm - ActivityScope:Dispose():this
Top method improvements (bytes):
-107 (-3.43% of base) : 7998.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[],System.String):System.Reflection.Assembly
-30 (-9.65% of base) : 13738.dasm - EqualityComparer:Equals(System.Text.Json.JsonSerializerOptions,System.Text.Json.JsonSerializerOptions):bool:this
-18 (-0.20% of base) : 8002.dasm - System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this
-11 (-2.01% of base) : 16903.dasm - ProtoBuf.Internal.Serializers.MapDecorator`3[__Canon,Int32,__Canon][System.__Canon,System.Int32,System.__Canon]:EmitWrite(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this
-11 (-2.35% of base) : 1732.dasm - ProtoBuf.Internal.Serializers.RepeatedDecorator`2[__Canon,__Canon][System.__Canon,System.__Canon]:EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this
-11 (-3.87% of base) : 8646.dasm - System.Collections.Generic.SortedList`2[__Canon,__Canon][System.__Canon,System.__Canon]:RemoveAt(int):this
-10 (-1.07% of base) : 8032.dasm - System.Xml.Serialization.CodeGenerator:InitILGeneration(System.Type[],System.String[],bool):this
-8 (-13.56% of base) : 12615.dasm - System.ArraySegment`1[__Canon][System.__Canon]:CopyTo(System.__Canon[],int):this
-8 (-10.96% of base) : 16963.dasm - System.ArraySegment`1[Int32][System.Int32]:CopyTo(System.Int32[],int):this
-8 (-0.55% of base) : 653.dasm - System.Guid:TryFormat(System.Span`1[Char],byref,System.ReadOnlySpan`1[Char]):bool:this
-8 (-5.19% of base) : 15637.dasm - System.Xml.PrefixHandle:Equals(System.Xml.PrefixHandle):bool:this
-8 (-0.98% of base) : 14843.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this
-7 (-0.19% of base) : 4899.dasm - <WriteStreamAsync>d__117`1[Int32][System.Int32]:MoveNext():this
-7 (-3.12% of base) : 23070.dasm - System.Collections.Generic.SortedList`2[Int32,Int32][System.Int32,System.Int32]:RemoveAt(int):this
-7 (-0.15% of base) : 14848.dasm - System.Xml.XmlTextReaderImpl:ParseAttributeValueSlow(int,ushort,NodeData):this
-6 (-0.88% of base) : 2067.dasm - <>c__DisplayClass133_0:<EmitTryMatchAtCurrentPosition>g__EmitMultiCharString|20(System.String,bool,bool):this
-6 (-19.35% of base) : 13792.dasm - <>c__DisplayClass8_1:<Bench>b__0():this
-6 (-1.36% of base) : 9510.dasm - System.Runtime.Serialization.CodeGenerator:Call(System.Reflection.MethodInfo):this
-5 (-0.13% of base) : 4835.dasm - <WriteStreamAsync>d__117`1[__Canon][System.__Canon]:MoveNext():this
-5 (-0.39% of base) : 7916.dasm - System.Xml.Serialization.XmlReflectionImporter:XsdTypeName(System.Type,System.Xml.Serialization.XmlAttributes,System.String):System.String:this
Top method regressions (percentages):
13 (108.33% of base) : 5271.dasm - System.Span`1[__Canon][System.__Canon]:Clear():this
16 (84.21% of base) : 18919.dasm - <>c__DisplayClass7_0:<AddSyntaxTreeToDeclarationMapAndTable>b__0():Microsoft.CodeAnalysis.CSharp.RootSingleNamespaceDeclaration:this
16 (72.73% of base) : 19935.dasm - <>c__DisplayClass6_0:<.ctor>b__0(Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.CSharp.Symbol, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):Microsoft.CodeAnalysis.CSharp.Imports:this
6 (28.57% of base) : 17208.dasm - System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests:SetupBase64EncodeInPlace():this
26 (28.26% of base) : 37150.dasm - System.Collections.Generic.Queue`1[__Canon][System.__Canon]:Clear():this
19 (26.03% of base) : 12078.dasm - ActivityScope:Dispose():this
13 (25.49% of base) : 23640.dasm - System.ReadOnlySpan`1[__Canon][System.__Canon]:CopyTo(System.Span`1[__Canon]):this
13 (25.49% of base) : 23059.dasm - System.Span`1[__Canon][System.__Canon]:CopyTo(System.Span`1[__Canon]):this
10 (24.39% of base) : 1698.dasm - System.Reflection.RuntimeParameterInfo:GetOptionalCustomModifiers():System.Type[]:this
10 (23.26% of base) : 2727.dasm - <>c__DisplayClass23_0:<UpdateStack>b__0(Sigil.Impl.StackTransition):this
10 (22.73% of base) : 1583.dasm - System.Reflection.RuntimeParameterInfo:GetRequiredCustomModifiers():System.Type[]:this
29 (22.48% of base) : 15929.dasm - System.Collections.Generic.Queue`1[Int32][System.Int32]:Contains(int):bool:this
6 (21.43% of base) : 22561.dasm - System.Collections.CopyTo`1[__Canon][System.__Canon]:Array():this
6 (21.43% of base) : 14492.dasm - System.Collections.CopyTo`1[Int32][System.Int32]:Array():this
25 (20.49% of base) : 19784.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.OverriddenOrHiddenMembersResult:.cctor()
6 (20.00% of base) : 33753.dasm - System.Drawing.Tests.Perf_Graphics_DrawBeziers:DrawBezier_Points():this
3 (18.75% of base) : 13017.dasm - System.Perf_Convert:FromBase64Chars():System.Byte[]:this
3 (18.75% of base) : 18218.dasm - System.Tests.Perf_Array:Clear():this
13 (18.06% of base) : 152.dasm - WindowsConsoleStream:Write(System.ReadOnlySpan`1[Byte]):this
6 (17.65% of base) : 13136.dasm - PerfLabTests.BlockCopyPerf:CallBlockCopy():this
Top method improvements (percentages):
-6 (-19.35% of base) : 13792.dasm - <>c__DisplayClass8_1:<Bench>b__0():this
-8 (-13.56% of base) : 12615.dasm - System.ArraySegment`1[__Canon][System.__Canon]:CopyTo(System.__Canon[],int):this
-8 (-10.96% of base) : 16963.dasm - System.ArraySegment`1[Int32][System.Int32]:CopyTo(System.Int32[],int):this
-30 (-9.65% of base) : 13738.dasm - EqualityComparer:Equals(System.Text.Json.JsonSerializerOptions,System.Text.Json.JsonSerializerOptions):bool:this
-4 (-6.56% of base) : 14481.dasm - System.Collections.Generic.SortedList`2[Int32,Int32][System.Int32,System.Int32]:IndexOfKey(int):int:this
-5 (-5.43% of base) : 3296.dasm - System.Xml.ValueHandle:GetCharsText():System.String:this
-8 (-5.19% of base) : 15637.dasm - System.Xml.PrefixHandle:Equals(System.Xml.PrefixHandle):bool:this
-11 (-3.87% of base) : 8646.dasm - System.Collections.Generic.SortedList`2[__Canon,__Canon][System.__Canon,System.__Canon]:RemoveAt(int):this
-4 (-3.85% of base) : 2671.dasm - System.Collections.Generic.List`1[__Canon][System.__Canon]:RemoveAt(int):this
-107 (-3.43% of base) : 7998.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[],System.String):System.Reflection.Assembly
-4 (-3.39% of base) : 6482.dasm - System.Collections.Generic.List`1[JsonPosition][Newtonsoft.Json.JsonPosition]:RemoveAt(int):this
-7 (-3.12% of base) : 23070.dasm - System.Collections.Generic.SortedList`2[Int32,Int32][System.Int32,System.Int32]:RemoveAt(int):this
-11 (-2.35% of base) : 1732.dasm - ProtoBuf.Internal.Serializers.RepeatedDecorator`2[__Canon,__Canon][System.__Canon,System.__Canon]:EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this
-2 (-2.06% of base) : 21065.dasm - <>c__DisplayClass218_0:<SerializeToPeStream>b__0():System.IO.Stream:this
-11 (-2.01% of base) : 16903.dasm - ProtoBuf.Internal.Serializers.MapDecorator`3[__Canon,Int32,__Canon][System.__Canon,System.Int32,System.__Canon]:EmitWrite(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this
-2 (-1.90% of base) : 18054.dasm - BilinearTest:Interpol_AVX():System.Double[]:this
-2 (-1.43% of base) : 3015.dasm - System.Runtime.Serialization.DataContractSerializer:InternalWriteObject(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.DataContractResolver):this
-2 (-1.40% of base) : 2169.dasm - System.Text.RegularExpressions.Regex:Replace(System.String,System.String,int,int):System.String:this
-6 (-1.36% of base) : 9510.dasm - System.Runtime.Serialization.CodeGenerator:Call(System.Reflection.MethodInfo):this
-2 (-1.26% of base) : 16111.dasm - System.Text.RegularExpressions.Tests.Perf_Regex_Common:ReplaceWords():System.String:this
399 total methods with Code Size differences (91 improved, 308 regressed), 585 unchanged.

coreclr_tests.pmi.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 122647044 (overridden on cmd)
Total bytes of diff: 122702686 (overridden on cmd)
Total bytes of delta: 55642 (0.05 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs

Top file regressions (bytes):
1732 : 7673.dasm (1.36% of base)
1719 : 7693.dasm (1.36% of base)
1152 : 7632.dasm (0.85% of base)
1129 : 7652.dasm (0.83% of base)
1102 : 44394.dasm (22.48% of base)
1102 : 7715.dasm (0.79% of base)
1089 : 42822.dasm (21.19% of base)
1089 : 44396.dasm (21.62% of base)
1089 : 44398.dasm (21.39% of base)
1089 : 42491.dasm (21.02% of base)
1089 : 42493.dasm (21.24% of base)
832 : 7485.dasm (0.66% of base)
832 : 7505.dasm (0.66% of base)
775 : 42488.dasm (14.01% of base)
757 : 252723.dasm (0.60% of base)
757 : 252749.dasm (0.60% of base)
747 : 234974.dasm (68.66% of base)
747 : 234975.dasm (68.91% of base)
746 : 234999.dasm (68.76% of base)
666 : 234998.dasm (58.78% of base)
Top file improvements (bytes):
-56 : 32045.dasm (-5.96% of base)
-46 : 32304.dasm (-3.82% of base)
-44 : 42827.dasm (-4.85% of base)
-35 : 42824.dasm (-3.97% of base)
-35 : 32070.dasm (-3.51% of base)
-34 : 32301.dasm (-3.94% of base)
-32 : 20558.dasm (-0.50% of base)
-16 : 13548.dasm (-0.06% of base)
-16 : 13246.dasm (-0.06% of base)
-13 : 22156.dasm (-3.19% of base)
-12 : 13289.dasm (-0.05% of base)
-12 : 13553.dasm (-0.05% of base)
-10 : 10590.dasm (-0.38% of base)
-10 : 34091.dasm (-11.36% of base)
-10 : 10681.dasm (-0.38% of base)
-10 : 10675.dasm (-0.38% of base)
-8 : 234195.dasm (-2.68% of base)
-8 : 34089.dasm (-11.94% of base)
-8 : 34090.dasm (-10.96% of base)
-8 : 219050.dasm (-1.00% of base)
4407 total files with Code Size differences (55 improved, 4352 regressed), 267 unchanged.
Top method regressions (bytes):
1732 ( 1.36% of base) : 7673.dasm - r4rem:TestEntryPoint():int
1719 ( 1.36% of base) : 7693.dasm - r8rem:TestEntryPoint():int
1152 ( 0.85% of base) : 7632.dasm - i4rem:TestEntryPoint():int
1129 ( 0.83% of base) : 7652.dasm - i8rem:TestEntryPoint():int
1102 (22.48% of base) : 44394.dasm - JitTest_huge_b_huge_il.Test:Main():int
1102 ( 0.79% of base) : 7715.dasm - u8rem:TestEntryPoint():int
1089 (21.62% of base) : 44396.dasm - JitTest_huge_i4_huge_il.Test:Main():int
1089 (21.02% of base) : 42491.dasm - JitTest_huge_r4_huge_il.Test:Main():int
1089 (21.24% of base) : 42493.dasm - JitTest_huge_r8_huge_il.Test:Main():int
1089 (21.39% of base) : 44398.dasm - JitTest_huge_u8_huge_il.Test:Main():int
1089 (21.19% of base) : 42822.dasm - JitTest_hugedim_arrays_il.Test:Main():int
832 ( 0.66% of base) : 7485.dasm - r4rem:TestEntryPoint():int
832 ( 0.66% of base) : 7505.dasm - r8rem:TestEntryPoint():int
775 (14.01% of base) : 42488.dasm - JitTest_huge_objref_huge_il.Test:Main():int
757 ( 0.60% of base) : 252723.dasm - overlddiv:TestEntryPoint():int
757 ( 0.60% of base) : 252749.dasm - overldrem:TestEntryPoint():int
747 (68.91% of base) : 234975.dasm - NativeVarargTest.VarArg:TestPassingManyDoubles(System.Double[]):bool
747 (68.66% of base) : 234974.dasm - NativeVarargTest.VarArg:TestPassingManyFloats(System.Double[]):bool
746 (68.76% of base) : 234999.dasm - NativeVarargTest.VarArg:TestPassingManyDoublesManaged(System.Double[]):bool
666 (58.78% of base) : 234998.dasm - NativeVarargTest.VarArg:TestPassingManyFloatsManaged(System.Single[]):bool
Top method improvements (bytes):
-56 (-5.96% of base) : 32045.dasm - JitTest_lcs_lcs_cs.LCS:findLCS(System.Int32[,,,],System.Int32[,,,],System.Char[][],System.Int32[])
-46 (-3.82% of base) : 32304.dasm - JitTest_lcs_ulong_arrays_cs.LCS:findLCS(System.UInt64[,,,],System.UInt64[,,,],System.Char[][],System.UInt64[])
-44 (-4.85% of base) : 42827.dasm - JitTest_lcs_ulong_arrays_il.LCS:findLCS(System.UInt64[,,,],System.UInt64[,,,],System.Char[][],System.UInt64[])
-35 (-3.97% of base) : 42824.dasm - JitTest_lcs_long_arrays_il.LCS:findLCS(System.Int64[,,,],System.Int64[,,,],System.Char[][],System.Int64[])
-35 (-3.51% of base) : 32070.dasm - JitTest_lcsval_lcs_cs.LCS:findLCS(JitTest_lcsval_lcs_cs.Data[,,,],System.Char[][],System.Int32[])
-34 (-3.94% of base) : 32301.dasm - JitTest_lcs_long_arrays_cs.LCS:findLCS(System.Int64[,,,],System.Int64[,,,],System.Char[][],System.Int64[])
-32 (-0.50% of base) : 20558.dasm - ArrBoundUnsigned:Main():int
-16 (-0.06% of base) : 13548.dasm - r4NaNrem:TestEntryPoint():int
-16 (-0.06% of base) : 13246.dasm - r4NaNrem:TestEntryPoint():int
-13 (-3.19% of base) : 22156.dasm - Driver`2[__Canon,__Canon][System.__Canon,System.__Canon]:AddSameKey(System.__Canon[],System.__Canon[],int,int):this
-12 (-0.05% of base) : 13289.dasm - r8NaNrem:TestEntryPoint():int
-12 (-0.05% of base) : 13553.dasm - r8NaNrem:TestEntryPoint():int
-10 (-0.38% of base) : 10590.dasm - IntelHardwareIntrinsicTest.Program:Main(System.String[]):int
-10 (-0.38% of base) : 10681.dasm - IntelHardwareIntrinsicTest.Program:Main(System.String[]):int
-10 (-0.38% of base) : 10675.dasm - IntelHardwareIntrinsicTest.Program:Main(System.String[]):int
-10 (-11.36% of base) : 34091.dasm - System.ArraySegment`1[Vector`1][System.Numerics.Vector`1[System.Single]]:CopyTo(System.ArraySegment`1[Vector`1]):this
-8 (-1.00% of base) : 219050.dasm - <>c__DisplayClass3_0:<Bench>b__0():int:this
-8 (-3.48% of base) : 234992.dasm - NativeVarargTest.VarArg:TestPassingIntsAndLongsManaged(System.Int32[],System.Int64[]):bool
-8 (-2.68% of base) : 234195.dasm - ReliabilityConfig:stripFilenameFromPath(System.String):System.String:this
-8 (-11.94% of base) : 34089.dasm - System.ArraySegment`1[Vector`1][System.Numerics.Vector`1[System.Single]]:CopyTo(System.Numerics.Vector`1[System.Single][]):this
Top method regressions (percentages):
13 (86.67% of base) : 34970.dasm - System.Span`1[Vector`1][System.Numerics.Vector`1[System.Single]]:Fill(System.Numerics.Vector`1[Single]):this
12 (70.59% of base) : 208775.dasm - TestStruct:RunStructFldScenario(JIT.HardwareIntrinsics.Arm.ScalarBinaryOpTest__ComputeCrc32_Byte):this
12 (70.59% of base) : 208777.dasm - TestStruct:RunStructFldScenario(JIT.HardwareIntrinsics.Arm.ScalarBinaryOpTest__ComputeCrc32_UInt16):this
12 (70.59% of base) : 208781.dasm - TestStruct:RunStructFldScenario(JIT.HardwareIntrinsics.Arm.ScalarBinaryOpTest__ComputeCrc32C_Byte):this
12 (70.59% of base) : 208783.dasm - TestStruct:RunStructFldScenario(JIT.HardwareIntrinsics.Arm.ScalarBinaryOpTest__ComputeCrc32C_UInt16):this
747 (68.91% of base) : 234975.dasm - NativeVarargTest.VarArg:TestPassingManyDoubles(System.Double[]):bool
746 (68.76% of base) : 234999.dasm - NativeVarargTest.VarArg:TestPassingManyDoublesManaged(System.Double[]):bool
747 (68.66% of base) : 234974.dasm - NativeVarargTest.VarArg:TestPassingManyFloats(System.Double[]):bool
666 (58.78% of base) : 234998.dasm - NativeVarargTest.VarArg:TestPassingManyFloatsManaged(System.Single[]):bool
417 (42.73% of base) : 234973.dasm - NativeVarargTest.VarArg:TestPassingManyLongs(System.Int64[]):bool
416 (42.58% of base) : 234997.dasm - NativeVarargTest.VarArg:TestPassingManyLongsManaged(System.Int64[]):bool
363 (38.91% of base) : 234972.dasm - NativeVarargTest.VarArg:TestPassingManyInts(System.Int32[]):bool
362 (38.76% of base) : 234996.dasm - NativeVarargTest.VarArg:TestPassingManyIntsManaged(System.Int32[]):bool
10 (27.03% of base) : 7852.dasm - <>c__DisplayClass4_1:<RenderMultiThreadedWithADT>b__2(double,int):this
10 (27.03% of base) : 7872.dasm - <>c__DisplayClass4_1:<RenderMultiThreadedWithADT>b__2(float,int):this
10 (27.03% of base) : 7855.dasm - <>c__DisplayClass5_1:<RenderMultiThreadedNoADT>b__2(double,int):this
10 (27.03% of base) : 7875.dasm - <>c__DisplayClass5_1:<RenderMultiThreadedNoADT>b__2(float,int):this
26 (26.53% of base) : 10493.dasm - TestTable`1[Byte][System.Byte]:CheckResult(System.Func`4[[System.Byte[], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Byte[], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Byte[], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Boolean, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):bool:this
26 (26.53% of base) : 16000.dasm - TestTable`1[Byte][System.Byte]:CheckResult(System.Func`4[[System.Byte[], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Byte[], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Byte[], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Boolean, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):bool:this
26 (26.53% of base) : 10953.dasm - TestTable`1[Byte][System.Byte]:CheckResult(System.Func`4[[System.Byte[], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Byte[], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Byte[], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Boolean, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):bool:this
Top method improvements (percentages):
-8 (-11.94% of base) : 34089.dasm - System.ArraySegment`1[Vector`1][System.Numerics.Vector`1[System.Single]]:CopyTo(System.Numerics.Vector`1[System.Single][]):this
-10 (-11.36% of base) : 34091.dasm - System.ArraySegment`1[Vector`1][System.Numerics.Vector`1[System.Single]]:CopyTo(System.ArraySegment`1[Vector`1]):this
-8 (-10.96% of base) : 34090.dasm - System.ArraySegment`1[Vector`1][System.Numerics.Vector`1[System.Single]]:CopyTo(System.Numerics.Vector`1[System.Single][],int):this
-56 (-5.96% of base) : 32045.dasm - JitTest_lcs_lcs_cs.LCS:findLCS(System.Int32[,,,],System.Int32[,,,],System.Char[][],System.Int32[])
-4 (-5.19% of base) : 40617.dasm - System.Collections.Generic.List`1[Int16][System.Int16]:RemoveAt(int):this
-44 (-4.85% of base) : 42827.dasm - JitTest_lcs_ulong_arrays_il.LCS:findLCS(System.UInt64[,,,],System.UInt64[,,,],System.Char[][],System.UInt64[])
-35 (-3.97% of base) : 42824.dasm - JitTest_lcs_long_arrays_il.LCS:findLCS(System.Int64[,,,],System.Int64[,,,],System.Char[][],System.Int64[])
-34 (-3.94% of base) : 32301.dasm - JitTest_lcs_long_arrays_cs.LCS:findLCS(System.Int64[,,,],System.Int64[,,,],System.Char[][],System.Int64[])
-46 (-3.82% of base) : 32304.dasm - JitTest_lcs_ulong_arrays_cs.LCS:findLCS(System.UInt64[,,,],System.UInt64[,,,],System.Char[][],System.UInt64[])
-35 (-3.51% of base) : 32070.dasm - JitTest_lcsval_lcs_cs.LCS:findLCS(JitTest_lcsval_lcs_cs.Data[,,,],System.Char[][],System.Int32[])
-8 (-3.48% of base) : 234992.dasm - NativeVarargTest.VarArg:TestPassingIntsAndLongsManaged(System.Int32[],System.Int64[]):bool
-6 (-3.35% of base) : 10.dasm - Util:MapPathToFileName(System.String):System.String
-13 (-3.19% of base) : 22156.dasm - Driver`2[__Canon,__Canon][System.__Canon,System.__Canon]:AddSameKey(System.__Canon[],System.__Canon[],int,int):this
-8 (-2.68% of base) : 234195.dasm - ReliabilityConfig:stripFilenameFromPath(System.String):System.String:this
-3 (-2.24% of base) : 232542.dasm - System.Collections.Generic.ArrayBuilder`1[Byte][System.Byte]:Append(System.Byte[]):this
-4 (-1.48% of base) : 234969.dasm - NativeVarargTest.VarArg:TestPassingFloatsAndDoubles(System.Single[],System.Double[]):bool
-4 (-1.19% of base) : 40081.dasm - System.Collections.Generic.ArraySortHelper`2[__Canon,Nullable`1][System.__Canon,System.Nullable`1[System.Int32]]:SwapIfGreaterWithValues(System.Span`1[__Canon],System.Span`1[Nullable`1],System.Collections.Generic.IComparer`1[__Canon],int,int)
-4 (-1.04% of base) : 237563.dasm - Huffman:Run():double:this
-8 (-1.00% of base) : 219050.dasm - <>c__DisplayClass3_0:<Bench>b__0():int:this
-3 (-0.55% of base) : 40610.dasm - System.Collections.Generic.List`1[Int16][System.Int16]:InsertRange(int,System.Collections.Generic.IEnumerable`1[Int16]):this
4407 total methods with Code Size differences (55 improved, 4352 regressed), 267 unchanged.

libraries.crossgen2.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 33445966 (overridden on cmd)
Total bytes of diff: 33453012 (overridden on cmd)
Total bytes of delta: 7046 (0.02 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs

Top file regressions (bytes):
83 : 24657.dasm (0.80% of base)
60 : 93242.dasm (4.91% of base)
51 : 182189.dasm (6.93% of base)
50 : 195432.dasm (8.83% of base)
48 : 134613.dasm (15.38% of base)
48 : 202421.dasm (3.36% of base)
43 : 71481.dasm (1.52% of base)
40 : 140815.dasm (17.70% of base)
34 : 10537.dasm (1.79% of base)
32 : 210923.dasm (14.10% of base)
32 : 9041.dasm (0.82% of base)
31 : 116229.dasm (0.87% of base)
30 : 4020.dasm (11.24% of base)
29 : 191371.dasm (3.34% of base)
29 : 193544.dasm (2.68% of base)
29 : 178655.dasm (2.73% of base)
28 : 69337.dasm (39.44% of base)
27 : 6236.dasm (15.43% of base)
27 : 9067.dasm (5.66% of base)
27 : 198263.dasm (16.17% of base)
Top file improvements (bytes):
-242 : 201680.dasm (-0.92% of base)
-45 : 206420.dasm (-0.37% of base)
-33 : 107307.dasm (-1.37% of base)
-28 : 68499.dasm (-4.84% of base)
-27 : 195208.dasm (-4.33% of base)
-27 : 193758.dasm (-13.43% of base)
-26 : 56847.dasm (-3.56% of base)
-25 : 198035.dasm (-3.80% of base)
-25 : 68474.dasm (-2.16% of base)
-25 : 187151.dasm (-4.44% of base)
-24 : 63190.dasm (-12.63% of base)
-22 : 111424.dasm (-1.73% of base)
-22 : 177196.dasm (-0.79% of base)
-21 : 64712.dasm (-3.31% of base)
-20 : 67456.dasm (-1.63% of base)
-17 : 149267.dasm (-5.15% of base)
-17 : 115740.dasm (-1.95% of base)
-17 : 149252.dasm (-5.15% of base)
-15 : 71501.dasm (-0.65% of base)
-15 : 210884.dasm (-1.25% of base)
1863 total files with Code Size differences (381 improved, 1482 regressed), 2275 unchanged.
Top method regressions (bytes):
83 ( 0.80% of base) : 24657.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this
60 ( 4.91% of base) : 93242.dasm - Microsoft.FSharp.Collections.Array2DModule:CopyTo(System.__Canon[,],int,int,System.__Canon[,],int,int,int,int)
51 ( 6.93% of base) : 182189.dasm - CSharpx.EnumerableExtensions:FoldImpl(System.Collections.Generic.IEnumerable`1[System.__Canon],int,System.Func`2[System.__Canon, System.__Canon],System.Func`3[System.__Canon, System.__Canon, System.__Canon],System.Func`4[System.__Canon, System.__Canon, System.__Canon, System.__Canon],System.Func`5[System.__Canon, System.__Canon, System.__Canon, System.__Canon, System.__Canon]):System.__Canon
50 ( 8.83% of base) : 195432.dasm - System.Runtime.Serialization.Formatters.Binary.ObjectWriter:Write(System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo,System.Runtime.Serialization.Formatters.Binary.NameInfo,System.Runtime.Serialization.Formatters.Binary.NameInfo,System.String[],System.Type[],System.Object[],System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo[]):this
48 (15.38% of base) : 134613.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CSharpSyntaxNode:CreateList(System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.GreenNode],bool):Microsoft.CodeAnalysis.GreenNode:this
48 ( 3.36% of base) : 202421.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:CreateFuncCallSiteAndInvoke(System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[]):System.Object
43 ( 1.52% of base) : 71481.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this
40 (17.70% of base) : 140815.dasm - Microsoft.CodeAnalysis.CSharp.AsyncRewriter:GenerateMoveNext(Microsoft.CodeAnalysis.CSharp.Symbols.SynthesizedImplementationMethod):this
34 ( 1.79% of base) : 10537.dasm - System.Reflection.Emit.MethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.ILGenerator):this
32 ( 0.82% of base) : 9041.dasm - <ReadAsyncInternal>d__69:MoveNext():this
32 (14.10% of base) : 210923.dasm - ExplicitConversion:bindExplicitConversionFromDecimalToEnum(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType):int:this
31 ( 0.87% of base) : 116229.dasm - System.Xml.XmlTextReaderImpl:ParseXmlDeclaration(bool):bool:this
30 (11.24% of base) : 4020.dasm - System.Data.DataRowComparer:CompareEquatableArray(System.__Canon[],System.__Canon[]):bool
29 ( 2.68% of base) : 193544.dasm - System.Drawing.ColorConverterCommon:ConvertFromString(System.String,System.Globalization.CultureInfo):System.Drawing.Color
29 ( 2.73% of base) : 178655.dasm - System.Drawing.ColorConverterCommon:ConvertFromString(System.String,System.Globalization.CultureInfo):System.Drawing.Color
29 ( 3.34% of base) : 191371.dasm - System.IO.Ports.SerialPort:ReadOneChar(int):int:this
28 (39.44% of base) : 69337.dasm - Newtonsoft.Json.Linq.JValue:CompareTo(Newtonsoft.Json.Linq.JValue):int:this
27 (15.43% of base) : 6236.dasm - System.Collections.Generic.Queue`1:SetCapacity(int):this
27 (16.17% of base) : 198263.dasm - System.Collections.Queue:SetCapacity(int):this
27 ( 5.66% of base) : 9067.dasm - System.IO.StreamReader:ReadBuffer():int:this
Top method improvements (bytes):
-242 (-0.92% of base) : 201680.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this
-45 (-0.37% of base) : 206420.dasm - System.DirectoryServices.ActiveDirectory.Utils:GetReplicaList(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.String,bool,bool,bool):System.Collections.ArrayList
-33 (-1.37% of base) : 107307.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[],System.String):System.Reflection.Assembly
-28 (-4.84% of base) : 68499.dasm - <ExecuteFilter>d__4:MoveNext():bool:this
-27 (-4.33% of base) : 195208.dasm - <EnsureBufferContainsAsync>d__74:MoveNext():this
-27 (-13.43% of base) : 193758.dasm - System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1:OutputNextItem(System.__Canon,bool):this
-26 (-3.56% of base) : 56847.dasm - <GetVariablesIncludingMerged>d__32:MoveNext():bool:this
-25 (-4.44% of base) : 187151.dasm - <AsSequentialQuery>d__9:MoveNext():bool:this
-25 (-3.80% of base) : 198035.dasm - <CombinedClaimsIterator>d__38:MoveNext():bool:this
-25 (-2.16% of base) : 68474.dasm - <ExecuteFilter>d__4:MoveNext():bool:this
-24 (-12.63% of base) : 63190.dasm - <System-Collections-Generic-IEnumerable<System-Speech-Internal-ObjectTokens-RegistryDataKey>-GetEnumerator>d__32:MoveNext():bool:this
-22 (-0.79% of base) : 177196.dasm - <>c__DisplayClass133_0:<EmitTryMatchAtCurrentPosition>g__EmitLoop|28(System.Text.RegularExpressions.RegexNode):this
-22 (-1.73% of base) : 111424.dasm - System.Xml.Schema.XsdValidator:ValidateStartElement():this
-21 (-3.31% of base) : 64712.dasm - System.Speech.Recognition.RecognitionResult:ExtractDictationAlternates(System.Speech.Internal.SapiInterop.ISpRecoResult,int):this
-20 (-1.63% of base) : 67456.dasm - <SerializeToStreamAsyncCore>d__23:MoveNext():this
-17 (-5.15% of base) : 149267.dasm - System.Text.Json.Utf8JsonWriter:WriteNumberEscape(System.ReadOnlySpan`1[System.Byte],double):this
-17 (-5.15% of base) : 149252.dasm - System.Text.Json.Utf8JsonWriter:WriteNumberEscape(System.ReadOnlySpan`1[System.Byte],float):this
-17 (-1.95% of base) : 115740.dasm - System.Xml.XmlTextWriter:WriteDocType(System.String,System.String,System.String,System.String):this
-15 (-1.25% of base) : 210884.dasm - ImplicitConversion:BindNubConversion(Microsoft.CSharp.RuntimeBinder.Semantics.NullableType):bool:this
-15 (-0.65% of base) : 71501.dasm - Newtonsoft.Json.JsonTextReader:ReadStringIntoBuffer(ushort):this
Top method regressions (percentages):
13 (81.25% of base) : 119684.dasm - MS.Internal.Xml.Cache.XPathNodeRef:GetHashCode():int:this
13 (81.25% of base) : 22349.dasm - System.Span`1:Clear():this
13 (76.47% of base) : 6850.dasm - System.Collections.DictionaryEntry:ToString():System.String:this
13 (76.47% of base) : 23649.dasm - System.Int128:GetHashCode():int:this
13 (76.47% of base) : 20203.dasm - System.UInt128:GetHashCode():int:this
17 (73.91% of base) : 30705.dasm - _Closure$__14-0:_Lambda$__0():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ExpressionSyntax:this
13 (72.22% of base) : 96465.dasm - AttachContinuationToUnitTask@1257-1:Invoke(Microsoft.FSharp.Core.Unit):Microsoft.FSharp.Control.AsyncReturn:this
13 (72.22% of base) : 96167.dasm - AwaitTask@2231-3:Invoke(Microsoft.FSharp.Core.Unit):Microsoft.FSharp.Control.AsyncReturn:this
13 (72.22% of base) : 201926.dasm - Container:get_VBFriendlyName():System.String:this
13 (72.22% of base) : 189414.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PathSegments.LiteralPathSegment:Match(System.String):bool:this
13 (72.22% of base) : 99693.dasm - Microsoft.FSharp.Collections.FSharpMap`2:System.Collections.Generic.IReadOnlyDictionary<'Key, 'Value>.ContainsKey(int):bool:this
13 (72.22% of base) : 99697.dasm - Microsoft.FSharp.Collections.FSharpMap`2:System.Collections.Generic.IReadOnlyDictionary<'Key, 'Value>.get_Item(int):int:this
13 (72.22% of base) : 99695.dasm - Microsoft.FSharp.Collections.FSharpMap`2:System.Collections.Generic.IReadOnlyDictionary<'Key, 'Value>.TryGetValue(int,byref):bool:this
13 (72.22% of base) : 211992.dasm - System.DirectoryServices.AccountManagement.SAMGroupsSet:get_CurrentAsPrincipal():System.Object:this
13 (72.22% of base) : 212031.dasm - System.DirectoryServices.AccountManagement.SAMQuerySet:get_CurrentAsPrincipal():System.Object:this
13 (72.22% of base) : 166296.dasm - System.Threading.Tasks.ParallelLoopState64:InternalBreak():this
13 (72.22% of base) : 56375.dasm - TypeRestriction:GetExpression():System.Linq.Expressions.Expression:this
12 (70.59% of base) : 166302.dasm - System.Threading.Tasks.ParallelLoopState32:InternalBreak():this
16 (69.57% of base) : 157504.dasm - <>c__DisplayClass19_0:<CreateLibraries>b__0(Internal.Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+TargetLibrary):Internal.Microsoft.Extensions.DependencyModel.Library:this
16 (69.57% of base) : 167251.dasm - <>c__DisplayClass24_0:<CreateLibraries>b__0(Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+TargetLibrary):Microsoft.Extensions.DependencyModel.Library:this
Top method improvements (percentages):
-10 (-32.26% of base) : 63280.dasm - PhoneId:System.Collections.Generic.IComparer<System.Speech.Internal.PhonemeConverter.PhoneId>.Compare(System.Speech.Internal.PhonemeConverter+PhoneId,System.Speech.Internal.PhonemeConverter+PhoneId):int:this
-10 (-24.39% of base) : 96570.dasm - cancellationTokenAsync@737:Invoke(Microsoft.FSharp.Control.AsyncActivation`1[System.Threading.CancellationToken]):Microsoft.FSharp.Control.AsyncReturn:this
-10 (-22.73% of base) : 168850.dasm - System.Threading.RateLimiting.MetadataName`1:op_Equality(System.Threading.RateLimiting.MetadataName`1[System.__Canon],System.Threading.RateLimiting.MetadataName`1[System.__Canon]):bool
-10 (-18.52% of base) : 32365.dasm - LambdaRelaxationVisitor:VisitYieldStatement(Microsoft.CodeAnalysis.VisualBasic.BoundYieldStatement):Microsoft.CodeAnalysis.VisualBasic.BoundNode:this
-7 (-16.28% of base) : 92616.dasm - GetArraySlice4DFixedDouble6@5894:Invoke(int,int):System.__Canon:this
-7 (-15.22% of base) : 92618.dasm - GetArraySlice4DFixedDouble5@5891:Invoke(int,int):System.__Canon:this
-8 (-13.56% of base) : 25695.dasm - System.ArraySegment`1:CopyTo(System.__Canon[],int):this
-27 (-13.43% of base) : 193758.dasm - System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1:OutputNextItem(System.__Canon,bool):this
-24 (-12.63% of base) : 63190.dasm - <System-Collections-Generic-IEnumerable<System-Speech-Internal-ObjectTokens-RegistryDataKey>-GetEnumerator>d__32:MoveNext():bool:this
-8 (-12.50% of base) : 25696.dasm - System.ArraySegment`1:CopyTo(System.__Canon[]):this
-8 (-11.94% of base) : 28383.dasm - System.ArraySegment`1:CopyTo(System.Char[]):this
-10 (-11.36% of base) : 28381.dasm - System.ArraySegment`1:CopyTo(System.ArraySegment`1[System.Char]):this
-4 (-11.11% of base) : 181395.dasm - <>c__DisplayClass3_1:<ChangeTypeScalarImpl>b__3():System.Object:this
-8 (-10.96% of base) : 28382.dasm - System.ArraySegment`1:CopyTo(System.Char[],int):this
-10 (-10.53% of base) : 25694.dasm - System.ArraySegment`1:CopyTo(System.ArraySegment`1[System.__Canon]):this
-3 (-9.38% of base) : 109095.dasm - System.Xml.Xsl.Runtime.XmlNavNameFilter:MoveToFollowing(System.Xml.XPath.XPathNavigator,System.Xml.XPath.XPathNavigator):bool:this
-8 (-8.99% of base) : 209406.dasm - System.Net.CookieTokenizer:Extract():System.String:this
-8 (-8.99% of base) : 213785.dasm - System.Net.CookieTokenizer:Extract():System.String:this
-4 (-8.51% of base) : 92614.dasm - GetArraySlice4DFixedTriple1@5914:Invoke(int):System.__Canon:this
-7 (-8.14% of base) : 69347.dasm - Newtonsoft.Json.Linq.JValue:ValuesEquals(Newtonsoft.Json.Linq.JValue,Newtonsoft.Json.Linq.JValue):bool
1863 total methods with Code Size differences (381 improved, 1482 regressed), 2275 unchanged.

libraries.pmi.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 50395874 (overridden on cmd)
Total bytes of diff: 50409847 (overridden on cmd)
Total bytes of delta: 13973 (0.03 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs

Top file regressions (bytes):
3921 : 37233.dasm (11.98% of base)
70 : 154699.dasm (4.29% of base)
62 : 136721.dasm (0.94% of base)
59 : 62262.dasm (2.00% of base)
51 : 157890.dasm (6.45% of base)
51 : 157891.dasm (6.35% of base)
48 : 166841.dasm (2.76% of base)
40 : 71490.dasm (16.67% of base)
39 : 110525.dasm (1.06% of base)
38 : 136739.dasm (5.08% of base)
37 : 235491.dasm (1.00% of base)
36 : 15818.dasm (9.40% of base)
36 : 9891.dasm (4.08% of base)
36 : 238621.dasm (14.29% of base)
34 : 143545.dasm (26.56% of base)
34 : 238641.dasm (13.39% of base)
32 : 161014.dasm (14.10% of base)
31 : 174610.dasm (4.15% of base)
31 : 174618.dasm (4.15% of base)
31 : 174619.dasm (4.16% of base)
Top file improvements (bytes):
-107 : 145056.dasm (-3.30% of base)
-62 : 214650.dasm (-1.61% of base)
-57 : 140648.dasm (-2.83% of base)
-54 : 167206.dasm (-2.39% of base)
-42 : 116126.dasm (-1.98% of base)
-39 : 13229.dasm (-1.47% of base)
-30 : 235563.dasm (-9.65% of base)
-27 : 172637.dasm (-2.41% of base)
-18 : 90620.dasm (-6.72% of base)
-18 : 90621.dasm (-6.72% of base)
-18 : 197965.dasm (-0.12% of base)
-17 : 135811.dasm (-0.36% of base)
-15 : 118360.dasm (-13.16% of base)
-15 : 154341.dasm (-0.53% of base)
-14 : 214652.dasm (-0.46% of base)
-13 : 153825.dasm (-2.15% of base)
-13 : 136262.dasm (-0.52% of base)
-12 : 160577.dasm (-0.33% of base)
-12 : 133941.dasm (-0.86% of base)
-12 : 120244.dasm (-18.46% of base)
2617 total files with Code Size differences (399 improved, 2218 regressed), 2619 unchanged.
Top method regressions (bytes):
3921 (11.98% of base) : 37233.dasm - Microsoft.CodeAnalysis.DesktopAssemblyIdentityComparer:.cctor()
70 ( 4.29% of base) : 154699.dasm - ILCompiler.ReadyToRunCodegenCompilationBuilder:ToCompilation():ILCompiler.ICompilation:this
62 ( 0.94% of base) : 136721.dasm - <WriteEndAttributeAsync_SepcialAtt>d__132:MoveNext():this
59 ( 2.00% of base) : 62262.dasm - Microsoft.FSharp.Collections.Array2DModule:CopyTo(System.__Canon[,],int,int,System.__Canon[,],int,int,int,int)
51 ( 6.45% of base) : 157890.dasm - CSharpx.EnumerableExtensions:FoldImpl(System.Collections.Generic.IEnumerable`1[__Canon],int,System.Func`2[__Canon,Nullable`1],System.Func`3[__Canon,__Canon,Nullable`1],System.Func`4[__Canon,__Canon,__Canon,Nullable`1],System.Func`5[__Canon,__Canon,__Canon,__Canon,Nullable`1]):System.Nullable`1[Int32]
51 ( 6.35% of base) : 157891.dasm - CSharpx.EnumerableExtensions:FoldImpl(System.Collections.Generic.IEnumerable`1[Byte],int,System.Func`2[Byte,Nullable`1],System.Func`3[Byte,Byte,Nullable`1],System.Func`4[Byte,Byte,Byte,Nullable`1],System.Func`5[Byte,Byte,Byte,Byte,Nullable`1]):System.Nullable`1[Int32]
48 ( 2.76% of base) : 166841.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:CreateFuncCallSiteAndInvoke(System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[]):System.Object
40 (16.67% of base) : 71490.dasm - Microsoft.CodeAnalysis.CSharp.AsyncRewriter:GenerateMoveNext(Microsoft.CodeAnalysis.CSharp.Symbols.SynthesizedImplementationMethod):this
39 ( 1.06% of base) : 110525.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this
38 ( 5.08% of base) : 136739.dasm - <WriteStartElementAsync_FinishWrite>d__121:MoveNext():this
37 ( 1.00% of base) : 235491.dasm - <WriteStreamAsync>d__117`1[Byte][System.Byte]:MoveNext():this
36 ( 4.08% of base) : 9891.dasm - Microsoft.CodeAnalysis.VisualBasic.BinderBuilder:CreateBinderForSourceFile(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceModuleSymbol,Microsoft.CodeAnalysis.SyntaxTree):Microsoft.CodeAnalysis.VisualBasic.Binder
36 ( 9.40% of base) : 15818.dasm - Microsoft.CodeAnalysis.VisualBasic.Emit.PEModuleBuilder:TranslateImports(Microsoft.CodeAnalysis.DiagnosticBag):this
36 (14.29% of base) : 238621.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[Byte][System.Byte]:ComputeStartSet():ubyte:this
34 (13.39% of base) : 238641.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[Int16][System.Int16]:ComputeStartSet():short:this
34 (26.56% of base) : 143545.dasm - System.Xml.Xsl.Runtime.XmlIntSortKey:CompareTo(System.Object):int:this
32 (14.10% of base) : 161014.dasm - ExplicitConversion:bindExplicitConversionFromDecimalToEnum(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType):int:this
31 ( 4.15% of base) : 174610.dasm - WorkStealingQueue[Byte][System.Byte]:LocalPush(ubyte,byref):this
31 ( 4.15% of base) : 174618.dasm - WorkStealingQueue[Int16][System.Int16]:LocalPush(short,byref):this
31 ( 4.16% of base) : 174619.dasm - WorkStealingQueue[Int32][System.Int32]:LocalPush(int,byref):this
Top method improvements (bytes):
-107 (-3.30% of base) : 145056.dasm - System.Xml.Serialization.TempAssembly:GenerateRefEmitAssembly(System.Xml.Serialization.XmlMapping[],System.Type[],System.String):System.Reflection.Assembly
-62 (-1.61% of base) : 214650.dasm - <CloseAsyncCore>d__53:MoveNext():this
-57 (-2.83% of base) : 140648.dasm - System.Xml.Schema.XsdValidator:ValidateStartElement():this
-54 (-2.39% of base) : 167206.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,bool,System.Object[],int,System.String[],System.Type[],bool,System.Collections.Generic.List`1[[Microsoft.VisualBasic.CompilerServices.Symbols+Method, Microsoft.VisualBasic.Core, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],Container)
-42 (-1.98% of base) : 116126.dasm - Microsoft.Build.Execution.OutOfProcNode:HandleShutdown(byref):int:this
-39 (-1.47% of base) : 13229.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:CheckStructureCircularity(Microsoft.CodeAnalysis.DiagnosticBag):bool:this
-30 (-9.65% of base) : 235563.dasm - EqualityComparer:Equals(System.Text.Json.JsonSerializerOptions,System.Text.Json.JsonSerializerOptions):bool:this
-27 (-2.41% of base) : 172637.dasm - <<CancelOnProcessTermination>b__1_0>d:MoveNext():this
-18 (-6.72% of base) : 90620.dasm - Microsoft.Diagnostics.Symbols.NativeSymbolModule:GetEmbeddedILImage():System.IO.MemoryStream:this
-18 (-6.72% of base) : 90621.dasm - Microsoft.Diagnostics.Symbols.NativeSymbolModule:GetPseudoAssembly():System.IO.MemoryStream:this
-18 (-0.12% of base) : 197965.dasm - System.DirectoryServices.ActiveDirectory.Utils:GetReplicaList(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.String,bool,bool,bool):System.Collections.ArrayList
-17 (-0.36% of base) : 135811.dasm - System.Xml.XmlTextReaderImpl:ParseAttributeValueSlow(int,ushort,NodeData):this
-15 (-13.16% of base) : 118360.dasm - Microsoft.Build.Collections.ReadOnlyCollection`1[__Canon][System.__Canon]:Contains(System.__Canon):bool:this
-15 (-0.53% of base) : 154341.dasm - System.Text.GB18030Encoding:GetChars(long,int,long,int,System.Text.DecoderNLS):int:this
-14 (-0.46% of base) : 214652.dasm - <CloseOutputAsyncCore>d__48:MoveNext():this
-13 (-0.52% of base) : 136262.dasm - <ReadValueChunkAsync>d__489:MoveNext():this
-13 (-2.15% of base) : 153825.dasm - System.Speech.Internal.GrammarBuilding.OneOfElement:CreateElement(System.Speech.Internal.SrgsParser.IElementFactory,System.Speech.Internal.SrgsParser.IElement,System.Speech.Internal.SrgsParser.IRule,System.Speech.Internal.GrammarBuilding.IdentifierCollection):System.Speech.Internal.SrgsParser.IElement:this
-12 (-18.46% of base) : 120244.dasm - <>c__DisplayClass19_1:<.ctor>b__1(System.String):System.Collections.Immutable.ImmutableArray`1[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]:this
-12 (-0.87% of base) : 134154.dasm - <WriteCDataSectionAsync>d__135:MoveNext():this
-12 (-0.87% of base) : 133935.dasm - <WriteCDataSectionAsync>d__149:MoveNext():this
Top method regressions (percentages):
17 (94.44% of base) : 207921.dasm - System.Linq.Parallel.ListQueryResults`1[Byte][System.Byte]:GetPartitionedStream():System.Linq.Parallel.PartitionedStream`2[Byte,Int32]:this
13 (92.86% of base) : 141084.dasm - BigInteger:InitFromBigint(BigInteger):this
12 (92.31% of base) : 224785.dasm - System.Reflection.TypeLoading.RoArrayType:get_Suffix():System.String:this
17 (89.47% of base) : 34113.dasm - _Closure$__14-0:_Lambda$__0():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ExpressionSyntax:this
13 (86.67% of base) : 1418.dasm - System.Span`1[Vector`1][System.Numerics.Vector`1[System.Single]]:Fill(System.Numerics.Vector`1[Single]):this
16 (84.21% of base) : 245391.dasm - <>c__DisplayClass19_0:<CreateLibraries>b__0(TargetLibrary):Internal.Microsoft.Extensions.DependencyModel.Library:this
16 (84.21% of base) : 164397.dasm - <>c__DisplayClass24_0:<CreateLibraries>b__0(TargetLibrary):Microsoft.Extensions.DependencyModel.Library:this
16 (84.21% of base) : 88283.dasm - <>c__DisplayClass7_0:<AddSyntaxTreeToDeclarationMapAndTable>b__0():Microsoft.CodeAnalysis.CSharp.RootSingleNamespaceDeclaration:this
13 (81.25% of base) : 192636.dasm - System.Diagnostics.EventLogEntry:get_CategoryNumber():short:this
13 (81.25% of base) : 192638.dasm - System.Diagnostics.EventLogEntry:get_EntryType():int:this
13 (81.25% of base) : 192634.dasm - System.Diagnostics.EventLogEntry:get_Index():int:this
13 (76.47% of base) : 105488.dasm - Microsoft.Diagnostics.Tracing.Parsers.Clr.GCBulkRootStaticVarValues:get_FieldName():System.String:this
16 (76.19% of base) : 173063.dasm - R2RTest.R2RDumpProcessConstructor:Construct():ProcessParameters:this
16 (72.73% of base) : 88141.dasm - <>c__DisplayClass4_0:<.ctor>b__0(Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.CSharp.Symbol, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):Microsoft.CodeAnalysis.CSharp.Imports:this
13 (72.22% of base) : 87841.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:EmitDefaultExpression(Microsoft.CodeAnalysis.CSharp.BoundDefaultOperator,bool):this
13 (72.22% of base) : 105152.dasm - Microsoft.Diagnostics.Tracing.Parsers.Clr.GCBulkTypeValues:get_TypeName():System.String:this
13 (72.22% of base) : 64121.dasm - RangeGeneric@5551[Byte][System.Byte]:Step(ubyte):ubyte:this
16 (69.57% of base) : 208620.dasm - ReverseQueryOperatorResults[__Canon][System.__Canon]:GetElement(int):System.__Canon:this
16 (69.57% of base) : 208624.dasm - ReverseQueryOperatorResults[Byte][System.Byte]:GetElement(int):ubyte:this
16 (69.57% of base) : 208628.dasm - ReverseQueryOperatorResults[Double][System.Double]:GetElement(int):double:this
Top method improvements (percentages):
-10 (-30.30% of base) : 55814.dasm - cancellationTokenAsync@737:Invoke(Microsoft.FSharp.Control.AsyncActivation`1[CancellationToken]):Microsoft.FSharp.Control.AsyncReturn:this
-10 (-18.52% of base) : 32421.dasm - LambdaRelaxationVisitor:VisitYieldStatement(Microsoft.CodeAnalysis.VisualBasic.BoundYieldStatement):Microsoft.CodeAnalysis.VisualBasic.BoundNode:this
-12 (-18.46% of base) : 120244.dasm - <>c__DisplayClass19_1:<.ctor>b__1(System.String):System.Collections.Immutable.ImmutableArray`1[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]:this
-10 (-17.24% of base) : 173067.dasm - R2RTest.AppExecutionProcessConstructor:Construct():ProcessParameters:this
-10 (-17.24% of base) : 173065.dasm - R2RTest.ScriptExecutionProcessConstructor:Construct():ProcessParameters:this
-7 (-16.67% of base) : 64364.dasm - GetArraySlice4DFixedDouble6@5894[__Canon][System.__Canon]:Invoke(int,int):System.__Canon:this
-7 (-16.67% of base) : 64366.dasm - GetArraySlice4DFixedDouble6@5894[Byte][System.Byte]:Invoke(int,int):ubyte:this
-7 (-16.67% of base) : 64368.dasm - GetArraySlice4DFixedDouble6@5894[Int16][System.Int16]:Invoke(int,int):short:this
-7 (-16.67% of base) : 64369.dasm - GetArraySlice4DFixedDouble6@5894[Int32][System.Int32]:Invoke(int,int):int:this
-7 (-16.67% of base) : 64372.dasm - GetArraySlice4DFixedDouble6@5894[Int64][System.Int64]:Invoke(int,int):long:this
-7 (-15.56% of base) : 64355.dasm - GetArraySlice4DFixedDouble5@5891[__Canon][System.__Canon]:Invoke(int,int):System.__Canon:this
-7 (-15.56% of base) : 64357.dasm - GetArraySlice4DFixedDouble5@5891[Byte][System.Byte]:Invoke(int,int):ubyte:this
-7 (-15.56% of base) : 64359.dasm - GetArraySlice4DFixedDouble5@5891[Int16][System.Int16]:Invoke(int,int):short:this
-7 (-15.56% of base) : 64360.dasm - GetArraySlice4DFixedDouble5@5891[Int32][System.Int32]:Invoke(int,int):int:this
-7 (-15.56% of base) : 64363.dasm - GetArraySlice4DFixedDouble5@5891[Int64][System.Int64]:Invoke(int,int):long:this
-7 (-15.56% of base) : 64370.dasm - GetArraySlice4DFixedDouble6@5894[Double][System.Double]:Invoke(int,int):double:this
-6 (-15.38% of base) : 155913.dasm - Internal.Text.Utf8StringBuilder:ToString(int):System.String:this
-9 (-14.75% of base) : 64380.dasm - GetArraySlice4DFixedTriple1@5914[Vector`1][System.Numerics.Vector`1[System.Single]]:Invoke(int):System.Numerics.Vector`1[Single]:this
-7 (-14.58% of base) : 64361.dasm - GetArraySlice4DFixedDouble5@5891[Double][System.Double]:Invoke(int,int):double:this
-9 (-14.06% of base) : 64389.dasm - GetArraySlice4DFixedTriple2@5917[Vector`1][System.Numerics.Vector`1[System.Single]]:Invoke(int):System.Numerics.Vector`1[Single]:this
2617 total methods with Code Size differences (399 improved, 2218 regressed), 2619 unchanged.

libraries_tests.pmi.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 129995008 (overridden on cmd)
Total bytes of diff: 130013361 (overridden on cmd)
Total bytes of delta: 18353 (0.01 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs

Top file regressions (bytes):
921 : 161233.dasm (1.00% of base)
313 : 228951.dasm (1.51% of base)
181 : 228950.dasm (7.48% of base)
168 : 228948.dasm (6.74% of base)
123 : 138081.dasm (7.99% of base)
81 : 20737.dasm (1.82% of base)
81 : 36582.dasm (1.82% of base)
73 : 60838.dasm (4.07% of base)
46 : 276711.dasm (5.30% of base)
40 : 252905.dasm (0.31% of base)
40 : 236004.dasm (1.87% of base)
39 : 151440.dasm (1.06% of base)
39 : 240918.dasm (1.61% of base)
36 : 59512.dasm (2.74% of base)
36 : 276314.dasm (2.36% of base)
36 : 263039.dasm (1.40% of base)
36 : 265505.dasm (1.40% of base)
36 : 55708.dasm (2.06% of base)
35 : 54229.dasm (9.59% of base)
35 : 80759.dasm (2.21% of base)
Top file improvements (bytes):
-110 : 112641.dasm (-4.95% of base)
-99 : 315081.dasm (-3.97% of base)
-71 : 118466.dasm (-3.35% of base)
-60 : 118496.dasm (-3.16% of base)
-59 : 231454.dasm (-3.21% of base)
-42 : 331548.dasm (-0.87% of base)
-41 : 173437.dasm (-3.52% of base)
-41 : 35599.dasm (-1.60% of base)
-40 : 80645.dasm (-2.61% of base)
-40 : 80648.dasm (-2.61% of base)
-40 : 74909.dasm (-2.15% of base)
-37 : 261539.dasm (-2.15% of base)
-36 : 231451.dasm (-2.62% of base)
-34 : 189700.dasm (-2.26% of base)
-34 : 7840.dasm (-2.29% of base)
-33 : 291443.dasm (-1.28% of base)
-30 : 291860.dasm (-1.80% of base)
-30 : 321111.dasm (-2.17% of base)
-29 : 344122.dasm (-1.96% of base)
-28 : 118480.dasm (-1.60% of base)
4528 total files with Code Size differences (644 improved, 3884 regressed), 11426 unchanged.
Top method regressions (bytes):
921 ( 1.00% of base) : 161233.dasm - <GenerateCodeFromType_TestData>d__25:MoveNext():bool:this
313 ( 1.51% of base) : 228951.dasm - <ResolveCoreAsync>d__50:MoveNext():this
181 ( 7.48% of base) : 228950.dasm - <ResolveAsync>d__49:MoveNext():this
168 ( 6.74% of base) : 228948.dasm - <GetPackageDependenciesAsync>d__51:MoveNext():this
123 ( 7.99% of base) : 138081.dasm - Microsoft.Build.Tasks.ReferenceTable:GetReferenceItems(byref,byref,byref,byref,byref,byref,byref):this
81 ( 1.82% of base) : 20737.dasm - <ReadImmutableHashSetTOfImmutableHashSetT>d__304:MoveNext():this
81 ( 1.82% of base) : 36582.dasm - <ReadImmutableHashSetTOfImmutableHashSetT>d__339:MoveNext():this
73 ( 4.07% of base) : 60838.dasm - <GetClassifiedSpansAsync>d__0:MoveNext():this
46 ( 5.30% of base) : 276711.dasm - System.Reflection.Tests.TypeInfoTests:GenericTypeArguments(System.Type,System.Type[],System.String[]):this
40 ( 1.87% of base) : 236004.dasm - <GetRegistrationInfo>d__2:MoveNext():this
40 ( 0.31% of base) : 252905.dasm - System.IO.Tests.Directory_ReparsePoints_MountVolume:runTest()
39 ( 1.06% of base) : 151440.dasm - Microsoft.IdentityModel.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this
39 ( 1.61% of base) : 240918.dasm - System.Collections.Immutable.Tests.ImmutableSortedSetTest:IndexOfTest():this
36 ( 2.06% of base) : 55708.dasm - <<AddWork>g__ContinueAfterDelay|12_1>d[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:MoveNext():this
36 ( 2.74% of base) : 59512.dasm - <FindTypesInCurrentProcessAsync>d__30:MoveNext():this
36 ( 1.40% of base) : 263039.dasm - <PingPong>d__15:MoveNext():this
36 ( 1.40% of base) : 265505.dasm - <PingPong>d__15:MoveNext():this
36 ( 2.36% of base) : 276314.dasm - System.Reflection.Tests.FieldInfoTests:SetValue_MixedArrayTypes_SubClass():this
35 ( 9.59% of base) : 54229.dasm - Microsoft.CodeAnalysis.Diagnostics.DiagnosticData:WithCalculatedSpan(Microsoft.CodeAnalysis.Text.SourceText):Microsoft.CodeAnalysis.Diagnostics.DiagnosticData:this
35 ( 2.21% of base) : 80759.dasm - System.Dynamic.Tests.DynamicObjectTests:DynamicInvokeMemberStaticMember():this
Top method improvements (bytes):
-110 (-4.95% of base) : 112641.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[Byte][System.Byte]:AddBefore_LLNode():this
-99 (-3.97% of base) : 315081.dasm - Microsoft.Interop.LinearCollectionWithNonBlittableElementsMarshalling:GenerateNativeValuesDestinationDeclaration(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext):Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax:this
-71 (-3.35% of base) : 118466.dasm - <SimpleRequest_WriteAsynchronouslyInParts_Succeeds>d__7:MoveNext():this
-60 (-3.16% of base) : 118496.dasm - <Write_TooMuch_ThrowsProtocolViolationException>d__17:MoveNext():this
-59 (-3.21% of base) : 231454.dasm - <CreatePartsAsync>d__11:MoveNext():this
-42 (-0.87% of base) : 331548.dasm - <TestAsyncOutputStream_BeginCancelBeginOutputRead>d__7:MoveNext():this
-41 (-1.60% of base) : 35599.dasm - <FlushToStreamThrows_WriterRemainsInConsistentState>d__48:MoveNext():this
-41 (-3.52% of base) : 173437.dasm - <JoinMultipleData>d__3:MoveNext():bool:this
-40 (-2.15% of base) : 74909.dasm - System.Dynamic.Runtime.Tests.Test:CalledFrom_ForLoopBody()
-40 (-2.61% of base) : 80645.dasm - System.Dynamic.Tests.BinaryOperationTests:DivideInt32Assign(int,int):this
-40 (-2.61% of base) : 80648.dasm - System.Dynamic.Tests.BinaryOperationTests:ModuloInt32Assign(int,int):this
-37 (-2.15% of base) : 261539.dasm - <VerifyResponseContent>d__76:MoveNext():this
-36 (-2.62% of base) : 231451.dasm - <CreatePartsAsync>d__10:MoveNext():this
-34 (-2.26% of base) : 189700.dasm - <<ThresholdExceeded_ThrowsException>b__0>d:MoveNext():this
-34 (-2.29% of base) : 7840.dasm - <<ThresholdExceeded_ThrowsException>b__0>d:MoveNext():this
-33 (-1.28% of base) : 291443.dasm - <TestEncapsulate_Receives>d__63:MoveNext():this
-30 (-2.17% of base) : 321111.dasm - <>c__DisplayClass33_0:<ReadPackOptions>b__0(System.String):this
-30 (-1.80% of base) : 291860.dasm - <TestOrdering_Async_OrderedDisabled>d__26:MoveNext():this
-29 (-1.96% of base) : 344122.dasm - <<DownloadData_LargeData_Success>b__18_0>d:MoveNext():this
-28 (-1.60% of base) : 118480.dasm - <Write_ContentToClosedConnectionSynchronously_ThrowsHttpListenerException>d__23:MoveNext():this
Top method regressions (percentages):
13 (92.86% of base) : 91368.dasm - <>c__DisplayClass168_0:<CheckExceptionBoolArrayArrayLength>b__0():this
13 (92.86% of base) : 91369.dasm - <>c__DisplayClass169_0:<CheckExceptionByteArrayArrayLength>b__0():this
13 (92.86% of base) : 91370.dasm - <>c__DisplayClass170_0:<CheckExceptionCustomArrayArrayLength>b__0():this
13 (92.86% of base) : 91371.dasm - <>c__DisplayClass171_0:<CheckExceptionCharArrayArrayLength>b__0():this
13 (92.86% of base) : 91372.dasm - <>c__DisplayClass172_0:<CheckExceptionCustom2ArrayArrayLength>b__0():this
13 (92.86% of base) : 91373.dasm - <>c__DisplayClass173_0:<CheckExceptionDecimalArrayArrayLength>b__0():this
13 (92.86% of base) : 91374.dasm - <>c__DisplayClass174_0:<CheckExceptionDelegateArrayArrayLength>b__0():this
13 (92.86% of base) : 91375.dasm - <>c__DisplayClass175_0:<CheckExceptionDoubleArrayArrayLength>b__0():this
13 (92.86% of base) : 91376.dasm - <>c__DisplayClass176_0:<CheckExceptionEnumArrayArrayLength>b__0():this
13 (92.86% of base) : 91377.dasm - <>c__DisplayClass177_0:<CheckExceptionEnumLongArrayArrayLength>b__0():this
13 (92.86% of base) : 91378.dasm - <>c__DisplayClass178_0:<CheckExceptionFloatArrayArrayLength>b__0():this
13 (92.86% of base) : 91379.dasm - <>c__DisplayClass179_0:<CheckExceptionFuncArrayArrayLength>b__0():this
13 (92.86% of base) : 91380.dasm - <>c__DisplayClass180_0:<CheckExceptionInterfaceArrayArrayLength>b__0():this
13 (92.86% of base) : 91381.dasm - <>c__DisplayClass181_0:<CheckExceptionIEquatableCustomArrayArrayLength>b__0():this
13 (92.86% of base) : 91382.dasm - <>c__DisplayClass182_0:<CheckExceptionIEquatableCustom2ArrayArrayLength>b__0():this
13 (92.86% of base) : 91383.dasm - <>c__DisplayClass183_0:<CheckExceptionIntArrayArrayLength>b__0():this
13 (92.86% of base) : 91384.dasm - <>c__DisplayClass184_0:<CheckExceptionLongArrayArrayLength>b__0():this
13 (92.86% of base) : 91385.dasm - <>c__DisplayClass185_0:<CheckExceptionObjectArrayArrayLength>b__0():this
13 (92.86% of base) : 91386.dasm - <>c__DisplayClass186_0:<CheckExceptionStructArrayArrayLength>b__0():this
13 (92.86% of base) : 91387.dasm - <>c__DisplayClass187_0:<CheckExceptionSByteArrayArrayLength>b__0():this
Top method improvements (percentages):
-10 (-28.57% of base) : 254248.dasm - <>c__DisplayClass4_0:<CopyOntoSelf>b__0():this
-10 (-25.00% of base) : 254060.dasm - <>c__DisplayClass17_1:<LongPath>b__2():this
-10 (-25.00% of base) : 254173.dasm - <>c__DisplayClass19_1:<Path_Longer_Than_MaxLongPath_Throws_Exception>b__2():this
-12 (-21.82% of base) : 150890.dasm - <>c__DisplayClass7_0:<DownloadFileWorker>b__0(System.String):bool:this
-10 (-17.86% of base) : 60719.dasm - <>c__DisplayClass4_0:<FixAllAsync>b__0(Microsoft.CodeAnalysis.Editing.SyntaxEditor):System.Threading.Tasks.Task:this
-10 (-17.54% of base) : 141222.dasm - Microsoft.CodeAnalysis.CSharp.Utilities.TypeStyleResult:CanConvert():bool:this
-10 (-17.24% of base) : 58398.dasm - <>c__DisplayClass24_0:<GetUnimplementedMembers>b__4(Microsoft.CodeAnalysis.ISymbol):bool:this
-10 (-17.24% of base) : 126332.dasm - <>c__DisplayClass37_0:<PssRoundtrip>b__0():System.Object:this
-10 (-17.24% of base) : 284609.dasm - <>c__DisplayClass37_0:<PssRoundtrip>b__0():System.Object:this
-10 (-17.24% of base) : 196564.dasm - <>c__DisplayClass37_0:<PssRoundtrip>b__0():System.Object:this
-10 (-17.24% of base) : 127267.dasm - <>c__DisplayClass7_0:<Rfc5869ExtractDefaultHash>b__0():System.Object:this
-9 (-16.67% of base) : 265713.dasm - <>c__DisplayClass0_1:<DoHandshake>b__2():this
-10 (-16.39% of base) : 265712.dasm - <>c__DisplayClass0_1:<DoHandshake>b__1():this
-11 (-15.49% of base) : 140925.dasm - <>c__DisplayClass19_1:<.ctor>b__2(System.String):System.Collections.Generic.IReadOnlyList`1[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]:this
-4 (-14.81% of base) : 92499.dasm - <>c__DisplayClass44_0:<InvalidArgumentCount_ThrowsArgumentException>b__4():System.Object:this
-10 (-14.49% of base) : 59776.dasm - <>c__DisplayClass28_0:<GetSpellCheckerAsync>b__0():System.Threading.Tasks.Task`1[[Roslyn.Utilities.SpellChecker, Microsoft.CodeAnalysis.Workspaces, Version=4.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
-4 (-13.79% of base) : 104832.dasm - <>c__DisplayClass0_0:<InvalidArgs_Throws>b__4():this
-10 (-13.51% of base) : 253966.dasm - <>c__DisplayClass1_0:<CancelledTokenFastPath>b__3():this
-15 (-13.16% of base) : 137804.dasm - Microsoft.Build.Collections.ReadOnlyCollection`1[__Canon][System.__Canon]:Contains(System.__Canon):bool:this
-8 (-12.70% of base) : 265658.dasm - <>c__DisplayClass13_0:<SslStream_StreamToStream_Dispose_Throws>b__1():System.Threading.Tasks.Task:this
4528 total methods with Code Size differences (644 improved, 3884 regressed), 11426 unchanged.

@AndyAyersMSAndyAyersMS left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Changes LGTM.

@jakobbotsch
jakobbotsch merged commit 6258ee5 into dotnet:mainJun 22, 2022
@jakobbotsch
jakobbotsch deleted the fix-63905 branch June 22, 2022 19:49
@ghostghost locked as resolved and limited conversation to collaborators Jul 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fgMorphArgs reorders (non-call) exception-throwing arguments

2 participants

@jakobbotsch@AndyAyersMS