Skip to content

[JitDiff X64] [EgorBo] Reduce Unsafe usage in TryWriteSignificand/TryHash he ... #1885

@MihuBot

Description

@MihuBot

Job completed in 3 minutes 3 seconds (remote runner delay: 0 seconds).
dotnet/runtime#127921

Main commit: dotnet/runtime@896380d
PR commit: EgorBo/runtime-1@91d76ad

Diffs

Found 85 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 46154992
Total bytes of diff: 46155132
Total bytes of delta: 140 (0.00 % of base)
Total relative delta: 4.26
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
         107 : System.IO.Hashing.dasm (0.27 % of base)
          33 : System.Private.CoreLib.dasm (0.00 % of base)

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

Top method regressions (bytes):
          54 (158.82 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:GetCurrentHashCore(System.Span`1[byte]):this (FullOpts)
          37 (176.19 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:WriteBigEndian128(byref,System.Span`1[byte]) (FullOpts)
           9 (25.71 % of base) : System.Private.CoreLib.dasm - System.Decimal:System.Numerics.IFloatingPoint<System.Decimal>.TryWriteSignificandLittleEndian(System.Span`1[byte],byref):bool:this (FullOpts)
           9 (19.15 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.NFloat:System.Numerics.IFloatingPoint<System.Runtime.InteropServices.NFloat>.TryWriteExponentBigEndian(System.Span`1[byte],byref):bool:this (FullOpts)
           9 (20.93 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.NFloat:System.Numerics.IFloatingPoint<System.Runtime.InteropServices.NFloat>.TryWriteExponentLittleEndian(System.Span`1[byte],byref):bool:this (FullOpts)
           8 (20.00 % of base) : System.Private.CoreLib.dasm - System.Decimal:System.Numerics.IFloatingPoint<System.Decimal>.TryWriteSignificandBigEndian(System.Span`1[byte],byref):bool:this (FullOpts)
           4 (1.71 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Hash(byte[]):byte[] (FullOpts)
           3 (1.23 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Hash(byte[],long):byte[] (FullOpts)
           3 (1.49 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Hash(System.ReadOnlySpan`1[byte],long):byte[] (FullOpts)
           3 (1.80 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Hash(System.ReadOnlySpan`1[byte],System.Span`1[byte],long):int (FullOpts)
           3 (1.70 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:TryHash(System.ReadOnlySpan`1[byte],System.Span`1[byte],byref,long):bool (FullOpts)

Top method improvements (bytes):
          -1 (-1.49 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.NFloat:System.Numerics.IFloatingPoint<System.Runtime.InteropServices.NFloat>.TryWriteSignificandBigEndian(System.Span`1[byte],byref):bool:this (FullOpts)
          -1 (-1.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.NFloat:System.Numerics.IFloatingPoint<System.Runtime.InteropServices.NFloat>.TryWriteSignificandLittleEndian(System.Span`1[byte],byref):bool:this (FullOpts)

Top method regressions (percentages):
          37 (176.19 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:WriteBigEndian128(byref,System.Span`1[byte]) (FullOpts)
          54 (158.82 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:GetCurrentHashCore(System.Span`1[byte]):this (FullOpts)
           9 (25.71 % of base) : System.Private.CoreLib.dasm - System.Decimal:System.Numerics.IFloatingPoint<System.Decimal>.TryWriteSignificandLittleEndian(System.Span`1[byte],byref):bool:this (FullOpts)
           9 (20.93 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.NFloat:System.Numerics.IFloatingPoint<System.Runtime.InteropServices.NFloat>.TryWriteExponentLittleEndian(System.Span`1[byte],byref):bool:this (FullOpts)
           8 (20.00 % of base) : System.Private.CoreLib.dasm - System.Decimal:System.Numerics.IFloatingPoint<System.Decimal>.TryWriteSignificandBigEndian(System.Span`1[byte],byref):bool:this (FullOpts)
           9 (19.15 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.NFloat:System.Numerics.IFloatingPoint<System.Runtime.InteropServices.NFloat>.TryWriteExponentBigEndian(System.Span`1[byte],byref):bool:this (FullOpts)
           3 (1.80 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Hash(System.ReadOnlySpan`1[byte],System.Span`1[byte],long):int (FullOpts)
           4 (1.71 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Hash(byte[]):byte[] (FullOpts)
           3 (1.70 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:TryHash(System.ReadOnlySpan`1[byte],System.Span`1[byte],byref,long):bool (FullOpts)
           3 (1.49 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Hash(System.ReadOnlySpan`1[byte],long):byte[] (FullOpts)
           3 (1.23 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Hash(byte[],long):byte[] (FullOpts)

Top method improvements (percentages):
          -1 (-1.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.NFloat:System.Numerics.IFloatingPoint<System.Runtime.InteropServices.NFloat>.TryWriteSignificandLittleEndian(System.Span`1[byte],byref):bool:this (FullOpts)
          -1 (-1.49 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.NFloat:System.Numerics.IFloatingPoint<System.Runtime.InteropServices.NFloat>.TryWriteSignificandBigEndian(System.Span`1[byte],byref):bool:this (FullOpts)

13 total methods with Code Size differences (2 improved, 11 regressed), 286902 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