Skip to content

Instantly share code, notes, and snippets.

@a74nh
Last active September 19, 2023 09:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save a74nh/3a4a855cd904f2d86855699bb8ee0437 to your computer and use it in GitHub Desktop.
Save a74nh/3a4a855cd904f2d86855699bb8ee0437 to your computer and use it in GitHub Desktop.

Diffs are based on 32,525 contexts (4,858 MinOpts, 27,667 FullOpts).

Overall (+1,176,828 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,920,552 +1,176,828
MinOpts (+6,020 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 889,816 +6,020
FullOpts (+1,170,808 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,030,736 +1,170,808
Example diffs
benchmarks.run.linux.arm64.checked.mch
+4 (+0.06%) : 19823.dasm - Microsoft.CodeAnalysis.WellKnownTypes:.cctor() (Tier0-MinOpts)
@@ -2274,8 +2274,9 @@ G_M44839_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     w1, [x1, #0x08]
             ; gcrRegs -[x1]
             cmp     w0, w1
-            blt     G_M44839_IG12
-						;; size=32 bbWeight=1 PerfScore 11.00
+            cset    x0, lt
+            cbnz    w0, G_M44839_IG12
+						;; size=36 bbWeight=1 PerfScore 11.50
 G_M44839_IG14:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x40
             ret     lr
@@ -2285,7 +2286,7 @@ G_M44839_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 6744, prolog size 24, PerfScore 2098.90, instruction count 1686, allocated bytes for code 6744 (MethodHash=69a450d8) for method Microsoft.CodeAnalysis.WellKnownTypes:.cctor() (Tier0-MinOpts)
+; Total bytes of code 6748, prolog size 24, PerfScore 2099.80, instruction count 1687, allocated bytes for code 6748 (MethodHash=69a450d8) for method Microsoft.CodeAnalysis.WellKnownTypes:.cctor() (Tier0-MinOpts)
 ; ============================================================
 
 Unwind Info:
@@ -2296,7 +2297,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 1686 (0x00696) Actual length = 6744 (0x001a58)
+  Function Length   : 1687 (0x00697) Actual length = 6748 (0x001a5c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+0.11%) : 19129.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFacts:GetText(ushort):System.String (FullOpts)
@@ -22,14 +22,15 @@ G_M381_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, i
             movn    w1, #0xD1FFAB1E
             add     w0, w1, w0, UXTH
             cmp     w0, #0xD1FFAB1E
-            bhi     G_M381_IG218
+            cset    x1, hi
+            cbnz    w1, G_M381_IG218
             mov     w0, w0
             adr     x1, [@RWD00]
             ldr     w1, [x1, x0, LSL #2]
             adr     x2, [G_M381_IG02]
             add     x1, x1, x2
             br      x1
-						;; size=40 bbWeight=1 PerfScore 9.00
+						;; size=44 bbWeight=1 PerfScore 9.50
 G_M381_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -1631,7 +1632,7 @@ RWD00  	dd	G_M381_IG03 - G_M381_IG02
        	dd	G_M381_IG205 - G_M381_IG02
 
 
-; Total bytes of code 3508, prolog size 8, PerfScore 632.80, instruction count 877, allocated bytes for code 3508 (MethodHash=55d7fe82) for method Microsoft.CodeAnalysis.CSharp.SyntaxFacts:GetText(ushort):System.String (FullOpts)
+; Total bytes of code 3512, prolog size 8, PerfScore 633.70, instruction count 878, allocated bytes for code 3512 (MethodHash=55d7fe82) for method Microsoft.CodeAnalysis.CSharp.SyntaxFacts:GetText(ushort):System.String (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -1642,7 +1643,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 877 (0x0036d) Actual length = 3508 (0x000db4)
+  Function Length   : 878 (0x0036e) Actual length = 3512 (0x000db8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+0.12%) : 10507.dasm - System.Xml.Serialization.TypeScope:.cctor() (Tier0-MinOpts)
@@ -953,8 +953,9 @@ G_M8008_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
             cmp     w1, w0
-            blt     G_M8008_IG07
-						;; size=32 bbWeight=1 PerfScore 11.00
+            cset    x1, lt
+            cbnz    w1, G_M8008_IG07
+						;; size=36 bbWeight=1 PerfScore 11.50
 G_M8008_IG09:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0xB0
             ret     lr
@@ -964,7 +965,7 @@ G_M8008_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 3252, prolog size 40, PerfScore 982.20, instruction count 813, allocated bytes for code 3252 (MethodHash=e539e0b7) for method System.Xml.Serialization.TypeScope:.cctor() (Tier0-MinOpts)
+; Total bytes of code 3256, prolog size 40, PerfScore 983.10, instruction count 814, allocated bytes for code 3256 (MethodHash=e539e0b7) for method System.Xml.Serialization.TypeScope:.cctor() (Tier0-MinOpts)
 ; ============================================================
 
 Unwind Info:
@@ -975,7 +976,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 813 (0x0032d) Actual length = 3252 (0x000cb4)
+  Function Length   : 814 (0x0032e) Actual length = 3256 (0x000cb8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+24 (+50.00%) : 20708.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:get_BoundAttributesSource():Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:this (FullOpts)
@@ -23,13 +23,19 @@ G_M29162_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M29162_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x60]
-            tbz     w1, #14, G_M29162_IG04
-						;; size=8 bbWeight=1 PerfScore 4.00
+            tst     w1, #0xD1FFAB1E
+            cset    x2, eq
+            cbnz    w2, G_M29162_IG04
+						;; size=16 bbWeight=1 PerfScore 5.00
 G_M29162_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrb    w2, [x0, #0xD9]
+            cmp     w2, #0
+            cset    x2, ne
             cbnz    w2, G_M29162_IG05
-            tbnz    w1, #13, G_M29162_IG05
-						;; size=12 bbWeight=0.50 PerfScore 2.50
+            tst     w1, #0xD1FFAB1E
+            cset    x1, ne
+            cbnz    w1, G_M29162_IG05
+						;; size=28 bbWeight=0.50 PerfScore 3.50
 G_M29162_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, xzr
@@ -44,7 +50,7 @@ G_M29162_IG06:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ret     lr
 						;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 48, prolog size 8, PerfScore 17.05, instruction count 12, allocated bytes for code 48 (MethodHash=bfb18e15) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:get_BoundAttributesSource():Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:this (FullOpts)
+; Total bytes of code 72, prolog size 8, PerfScore 21.45, instruction count 18, allocated bytes for code 72 (MethodHash=bfb18e15) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:get_BoundAttributesSource():Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -55,7 +61,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 12 (0x0000c) Actual length = 48 (0x000030)
+  Function Length   : 18 (0x00012) Actual length = 72 (0x000048)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+48 (+52.17%) : 8656.dasm - Newtonsoft.Json.Serialization.JsonSerializerInternalWriter:ResolveIsReference(Newtonsoft.Json.Serialization.JsonContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization.JsonContainerContract,Newtonsoft.Json.Serialization.JsonProperty):System.Nullable`1[bool]:this (FullOpts)
@@ -27,8 +27,10 @@ G_M52193_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 						;; size=12 bbWeight=1 PerfScore 2.50
 G_M52193_IG02:        ; bbWeight=1, gcrefRegs=001E {x1 x2 x3 x4}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1-x4]
-            cbz     x2, G_M52193_IG04
-						;; size=4 bbWeight=1 PerfScore 1.00
+            cmp     x2, #0
+            cset    x0, eq
+            cbnz    w0, G_M52193_IG04
+						;; size=12 bbWeight=1 PerfScore 2.00
 G_M52193_IG03:        ; bbWeight=0.50, gcrefRegs=001E {x1 x2 x3 x4}, byrefRegs=0000 {}, byref
             ldrh    w0, [x2, #0x90]
             strh    w0, [fp, #0x18]	// [V05 loc0]
@@ -36,28 +38,38 @@ G_M52193_IG03:        ; bbWeight=0.50, gcrefRegs=001E {x1 x2 x3 x4}, byrefRegs=0
 G_M52193_IG04:        ; bbWeight=1, gcrefRegs=001A {x1 x3 x4}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             ldrb    w0, [fp, #0x18]	// [V07 tmp1]
+            cmp     w0, #0
+            cset    x0, ne
             cbnz    w0, G_M52193_IG06
-						;; size=8 bbWeight=1 PerfScore 3.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 G_M52193_IG05:        ; bbWeight=0.50, gcrefRegs=001A {x1 x3 x4}, byrefRegs=0000 {}, byref, isz
-            cbz     x4, G_M52193_IG06
+            cmp     x4, #0
+            cset    x0, eq
+            cbnz    w0, G_M52193_IG06
             ldrh    w0, [x4, #0xBC]
             strh    w0, [fp, #0x18]	// [V05 loc0]
-						;; size=12 bbWeight=0.50 PerfScore 2.50
+						;; size=20 bbWeight=0.50 PerfScore 3.00
 G_M52193_IG06:        ; bbWeight=1, gcrefRegs=000A {x1 x3}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x4]
             ldrb    w0, [fp, #0x18]	// [V07 tmp1]
+            cmp     w0, #0
+            cset    x0, ne
             cbnz    w0, G_M52193_IG08
-						;; size=8 bbWeight=1 PerfScore 3.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 G_M52193_IG07:        ; bbWeight=0.50, gcrefRegs=000A {x1 x3}, byrefRegs=0000 {}, byref, isz
-            cbz     x3, G_M52193_IG08
+            cmp     x3, #0
+            cset    x0, eq
+            cbnz    w0, G_M52193_IG08
             ldrh    w0, [x3, #0x90]
             strh    w0, [fp, #0x18]	// [V05 loc0]
-						;; size=12 bbWeight=0.50 PerfScore 2.50
+						;; size=20 bbWeight=0.50 PerfScore 3.00
 G_M52193_IG08:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x3]
             ldrb    w0, [fp, #0x18]	// [V07 tmp1]
+            cmp     w0, #0
+            cset    x0, ne
             cbnz    w0, G_M52193_IG10
-						;; size=8 bbWeight=1 PerfScore 3.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 G_M52193_IG09:        ; bbWeight=0.50, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
             ldrh    w0, [x1, #0x6F]
             strh    w0, [fp, #0x18]	// [V05 loc0]
@@ -71,7 +83,7 @@ G_M52193_IG11:        ; bbWeight=1, epilog, nogc, extend
             ret     lr
 						;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 92, prolog size 12, PerfScore 34.70, instruction count 23, allocated bytes for code 92 (MethodHash=be3d341e) for method Newtonsoft.Json.Serialization.JsonSerializerInternalWriter:ResolveIsReference(Newtonsoft.Json.Serialization.JsonContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization.JsonContainerContract,Newtonsoft.Json.Serialization.JsonProperty):System.Nullable`1[bool]:this (FullOpts)
+; Total bytes of code 140, prolog size 12, PerfScore 44.50, instruction count 35, allocated bytes for code 140 (MethodHash=be3d341e) for method Newtonsoft.Json.Serialization.JsonSerializerInternalWriter:ResolveIsReference(Newtonsoft.Json.Serialization.JsonContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization.JsonContainerContract,Newtonsoft.Json.Serialization.JsonProperty):System.Nullable`1[bool]:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +94,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 23 (0x00017) Actual length = 92 (0x00005c)
+  Function Length   : 35 (0x00023) Actual length = 140 (0x00008c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+44 (+52.38%) : 21285.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
@@ -51,42 +51,53 @@ G_M63884_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M63884_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x20]
-            cbz     x0, G_M63884_IG07
-						;; size=8 bbWeight=1 PerfScore 4.00
+            cmp     x0, #0
+            cset    x1, eq
+            cbnz    w1, G_M63884_IG07
+						;; size=16 bbWeight=1 PerfScore 5.00
 G_M63884_IG03:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldrh    w1, [x0, #0x34]
+            cmp     w1, #0
+            cset    x1, ne
             cbnz    w1, G_M63884_IG06
-						;; size=8 bbWeight=4 PerfScore 16.00
+						;; size=16 bbWeight=4 PerfScore 20.00
 G_M63884_IG04:        ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [x0, #0x20]
             ; gcrRegs +[x1]
-            cbz     x1, G_M63884_IG06
+            cmp     x1, #0
+            cset    x2, eq
+            cbnz    w2, G_M63884_IG06
             ldrb    w2, [x0, #0x37]
             cmp     w2, #2
-            bne     G_M63884_IG05
+            cset    x2, ne
+            cbnz    w2, G_M63884_IG05
             mov     w1, #43
             ; gcrRegs -[x1]
             strh    w1, [x0, #0x34]
             b       G_M63884_IG06
-						;; size=32 bbWeight=2 PerfScore 22.00
+						;; size=44 bbWeight=2 PerfScore 25.00
 G_M63884_IG05:        ; bbWeight=2, gcrefRegs=0003 {x0 x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1]
             strh    wzr, [x0, #0x34]
-            cbz     x1, G_M63884_IG06
-            str     xzr, [x0, #0x20]
-						;; size=12 bbWeight=2 PerfScore 6.00
-G_M63884_IG06:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            cmp     x1, #0
+            cset    x1, eq
             ; gcrRegs -[x1]
+            cbnz    w1, G_M63884_IG06
+            str     xzr, [x0, #0x20]
+						;; size=20 bbWeight=2 PerfScore 8.00
+G_M63884_IG06:        ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x0, #0x18]
-            cbnz    x0, G_M63884_IG03
-						;; size=8 bbWeight=4 PerfScore 16.00
+            cmp     x0, #0
+            cset    x1, ne
+            cbnz    w1, G_M63884_IG03
+						;; size=16 bbWeight=4 PerfScore 20.00
 G_M63884_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x0]
             ldp     fp, lr, [sp], #0x10
             ret     lr
 						;; size=8 bbWeight=1 PerfScore 2.00
 
-; Total bytes of code 84, prolog size 8, PerfScore 75.90, instruction count 21, allocated bytes for code 84 (MethodHash=79af0673) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
+; Total bytes of code 128, prolog size 8, PerfScore 94.30, instruction count 32, allocated bytes for code 128 (MethodHash=79af0673) for method Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -97,7 +108,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 21 (0x00015) Actual length = 84 (0x000054)
+  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.linux.arm64.checked.mch 23,578 0 23,578 0 -0 +1,176,828

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.arm64.checked.mch 32,525 4,858 27,667 0 (0.00%) 0 (0.00%)

jit-analyze output

benchmarks.run.linux.arm64.checked.mch

To reproduce these diffs on Windows arm64:

superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch arm64

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 14920552 (overridden on cmd)
Total bytes of diff: 16097380 (overridden on cmd)
Total bytes of delta: 1176828 (7.89 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs


Top file regressions (bytes):
        7320 : 7603.dasm (23.972% of base)
        1988 : 19080.dasm (28.432% of base)
        1684 : 12148.dasm (12.029% of base)
        1572 : 25722.dasm (15.676% of base)
        1528 : 7372.dasm (11.137% of base)
        1316 : 23495.dasm (15.871% of base)
        1272 : 25727.dasm (15.673% of base)
        1272 : 10614.dasm (6.576% of base)
        1260 : 6072.dasm (11.615% of base)
        1252 : 18841.dasm (11.988% of base)
        1228 : 8042.dasm (3.246% of base)
        1228 : 25718.dasm (15.304% of base)
        1212 : 1447.dasm (11.404% of base)
        1188 : 20336.dasm (8.559% of base)
        1168 : 20132.dasm (24.579% of base)
        1168 : 13638.dasm (16.957% of base)
        1156 : 25721.dasm (10.800% of base)
        1116 : 19140.dasm (28.068% of base)
        1044 : 7153.dasm (14.341% of base)
        1036 : 3227.dasm (9.398% of base)

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

Top method regressions (bytes):
        7320 (23.972% of base) : 7603.dasm - Jil.JSON:GetWriterAction[System.__Canon](Jil.Options):System.Action`3[System.__Canon,System.__Canon,int] (FullOpts)
        1988 (28.432% of base) : 19080.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFacts:GetKeywordKind(System.String):ushort (FullOpts)
        1684 (12.029% of base) : 12148.dasm - MessagePack.Internal.ObjectSerializationInfo:CreateOrNull(System.Type,bool,bool,bool):MessagePack.Internal.ObjectSerializationInfo (FullOpts)
        1572 (15.676% of base) : 25722.dasm - (dynamicClass):_DynamicMethod5(byref):int (FullOpts)
        1528 (11.137% of base) : 7372.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
        1316 (15.871% of base) : 23495.dasm - (dynamicClass):_DynamicMethod3(byref):int (FullOpts)
        1272 (15.673% of base) : 25727.dasm - (dynamicClass):_DynamicMethod7(byref):int (FullOpts)
        1272 (6.576% of base) : 10614.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,bool,bool,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
        1260 (11.615% of base) : 6072.dasm - System.Text.RegularExpressions.RegexCompiler:EmitMatchCharacterClass(System.String):this (FullOpts)
        1252 (11.988% of base) : 18841.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
        1228 (3.246% of base) : 8042.dasm - (dynamicClass):_DynamicMethod0(System.IO.TextWriter,MicroBenchmarks.Serializers.IndexViewModel,int) (FullOpts)
        1228 (15.304% of base) : 25718.dasm - (dynamicClass):_DynamicMethod3(byref):int (FullOpts)
        1212 (11.404% of base) : 1447.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        1188 (8.559% of base) : 20336.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+DeclaredMembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax],Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
        1168 (24.579% of base) : 20132.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol:ComputeMethodKind():int:this (FullOpts)
        1168 (16.957% of base) : 13638.dasm - System.Buffers.Tests.ReadOnlySequenceTests`1[ushort]:First(System.Buffers.ReadOnlySequence`1[ushort]):int:this (FullOpts)
        1156 (10.800% of base) : 25721.dasm - Jil.Deserialize.Methods:SkipWithLeadCharThunkReader(byref,int) (FullOpts)
        1116 (28.068% of base) : 19140.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFacts:GetContextualKeywordKind(System.String):ushort (FullOpts)
        1044 (14.341% of base) : 7153.dasm - System.Net.Http.Headers.KnownHeaders:GetCandidate[System.Net.Http.Headers.KnownHeaders+StringAccessor](System.Net.Http.Headers.KnownHeaders+StringAccessor):System.Net.Http.Headers.KnownHeader (FullOpts)
        1036 (9.398% of base) : 3227.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (FullOpts)

Top method regressions (percentages):
          96 (82.759% of base) : 23354.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor+ErrorCollection:HasRevocationUnknown():bool:this (FullOpts)
          72 (69.231% of base) : 3192.dasm - System.Security.Cryptography.ECCurve:HasAnyExplicitParameters():bool:this (FullOpts)
          44 (52.381% of base) : 21285.dasm - Microsoft.CodeAnalysis.CodeGen.ILBuilder:RewriteSpecialBlocks():this (FullOpts)
          48 (52.174% of base) : 8656.dasm - Newtonsoft.Json.Serialization.JsonSerializerInternalWriter:ResolveIsReference(Newtonsoft.Json.Serialization.JsonContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization.JsonContainerContract,Newtonsoft.Json.Serialization.JsonProperty):System.Nullable`1[bool]:this (FullOpts)
          24 (50.000% of base) : 20708.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:get_BoundAttributesSource():Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:this (FullOpts)
          24 (46.154% of base) : 5692.dasm - System.Runtime.Serialization.ObjectHolder:get_CompletelyFixed():bool:this (FullOpts)
          48 (46.154% of base) : 5797.dasm - System.Threading.Tasks.Task:get_Status():int:this (FullOpts)
          68 (43.590% of base) : 11940.dasm - System.Diagnostics.Tracing.EventSource:IsEnabledCommon(bool,int,long,int,long,ubyte):bool:this (FullOpts)
          24 (42.857% of base) : 16935.dasm - IfStatements.IfStatements:OrOrInner(int,int,int) (FullOpts)
          24 (42.857% of base) : 11473.dasm - System.Runtime.Serialization.Json.XmlJsonWriter:get_HasOpenAttribute():bool:this (FullOpts)
          72 (40.909% of base) : 10678.dasm - System.Xml.Serialization.StructMapping:set_BaseMapping(System.Xml.Serialization.StructMapping):this (FullOpts)
          24 (40.000% of base) : 25674.dasm - System.Collections.Generic.SortedSet`1[int]:get_MaxInternal():int:this (FullOpts)
          24 (40.000% of base) : 25445.dasm - System.Collections.Generic.SortedSet`1[int]:get_MinInternal():int:this (FullOpts)
          32 (40.000% of base) : 30451.dasm - System.Collections.Generic.SortedSet`1+Node[System.__Canon]:get_Is2Node():bool:this (FullOpts)
          32 (40.000% of base) : 1788.dasm - System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[int,int]]:get_Is2Node():bool:this (FullOpts)
          32 (38.095% of base) : 32491.dasm - Inlining.NoThrowInline:Bench(System.String,System.String,System.String,System.String):int (FullOpts)
          32 (38.095% of base) : 4034.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (FullOpts)
          32 (38.095% of base) : 9602.dasm - System.Text.RegularExpressions.RegexCharClass:TryAddCharClass(System.Text.RegularExpressions.RegexCharClass):bool:this (FullOpts)
          68 (37.778% of base) : 243.dasm - System.Runtime.CompilerServices.CastHelpers:IsInstanceOfClass(ulong,System.Object):System.Object (FullOpts)
          48 (37.500% of base) : 22910.dasm - System.Math:ILogB(double):int (FullOpts)


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment