Skip to content

[X64] [xtqqczze] Reduce IL size for BitConverter.GetBytes #175

@MihuBot

Description

@MihuBot

Build completed in 1 hour 17 minutes.
dotnet/runtime#91639

CoreLib diffs

Found 2 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 6605438
Total bytes of diff: 6605377
Total bytes of delta: -61 (-0.00 % of base)
Total relative delta: -1.50
    diff is an improvement.
    relative diff is an improvement.


Top file improvements (bytes):
         -61 : System.Private.CoreLib.dasm (-0.00 % of base)

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

Top method improvements (bytes):
         -26 (-56.52 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(float):ubyte[] (FullOpts)
         -23 (-52.27 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(double):ubyte[] (FullOpts)
         -12 (-41.38 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(System.Half):ubyte[] (FullOpts)

Top method improvements (percentages):
         -26 (-56.52 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(float):ubyte[] (FullOpts)
         -23 (-52.27 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(double):ubyte[] (FullOpts)
         -12 (-41.38 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(System.Half):ubyte[] (FullOpts)

3 total methods with Code Size differences (3 improved, 0 regressed), 52946 unchanged.

--------------------------------------------------------------------------------

Frameworks diffs

Diffs
Found 261 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 37857688
Total bytes of diff: 37857695
Total bytes of delta: 7 (0.00 % of base)
Total relative delta: -0.62
    diff is a regression.
    relative diff is an improvement.


Top file regressions (bytes):
         124 : Microsoft.VisualBasic.Core.dasm (0.02 % of base)
          28 : ILCompiler.Reflection.ReadyToRun.dasm (0.01 % of base)

Top file improvements (bytes):
         -84 : System.Data.Common.dasm (-0.01 % of base)
         -61 : System.Private.CoreLib.dasm (-0.00 % of base)

4 total files with Code Size differences (2 improved, 2 regressed), 252 unchanged.

Top method regressions (bytes):
          71 (38.59 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.VBMath:Rnd(float):float (FullOpts)
          54 (45.76 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.VBMath:Randomize() (FullOpts)
          18 (1.58 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcInfo:GetTransitionsNoEbp(ubyte[],byref):this (FullOpts)
          10 (8.77 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.CallPattern:DecodeCallPattern(uint,byref,byref,byref,byref) (FullOpts)

Top method improvements (bytes):
         -84 (-5.99 % of base) : System.Data.Common.dasm - System.Data.Common.ObjectStorage:Set(int,System.Object):this (FullOpts)
         -26 (-56.52 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(float):ubyte[] (FullOpts)
         -23 (-52.27 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(double):ubyte[] (FullOpts)
         -12 (-41.38 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(System.Half):ubyte[] (FullOpts)
          -1 (-0.56 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.VBMath:Randomize(double) (FullOpts)

Top method regressions (percentages):
          54 (45.76 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.VBMath:Randomize() (FullOpts)
          71 (38.59 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.VBMath:Rnd(float):float (FullOpts)
          10 (8.77 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.CallPattern:DecodeCallPattern(uint,byref,byref,byref,byref) (FullOpts)
          18 (1.58 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcInfo:GetTransitionsNoEbp(ubyte[],byref):this (FullOpts)

Top method improvements (percentages):
         -26 (-56.52 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(float):ubyte[] (FullOpts)
         -23 (-52.27 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(double):ubyte[] (FullOpts)
         -12 (-41.38 % of base) : System.Private.CoreLib.dasm - System.BitConverter:GetBytes(System.Half):ubyte[] (FullOpts)
         -84 (-5.99 % of base) : System.Data.Common.dasm - System.Data.Common.ObjectStorage:Set(int,System.Object):this (FullOpts)
          -1 (-0.56 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.VBMath:Randomize(double) (FullOpts)

9 total methods with Code Size differences (5 improved, 4 regressed), 232293 unchanged.

--------------------------------------------------------------------------------

Artifacts:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions