Repository navigation
[JitDiff X64] [EgorBo] Reduce Unsafe usage in primitive IBinaryInteger TryRe ... #1884
Copy link
Copy link
Open
Description
Job completed in 2 minutes 57 seconds (remote runner delay: 0 seconds).
dotnet/runtime#127913
Main commit: dotnet/runtime@feeb7b9
PR commit: EgorBo/runtime-1@140ce16
Diffs
Found 82 files with textual diffs.
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 46154992
Total bytes of diff: 46154917
Total bytes of delta: -75 (-0.00 % of base)
Total relative delta: -0.40
diff is an improvement.
relative diff is an improvement.
Top file improvements (bytes):
-75 : System.Private.CoreLib.dasm (-0.00 % of base)
1 total files with Code Size differences (1 improved, 0 regressed), 259 unchanged.
Top method improvements (bytes):
-18 (-11.25 % of base) : System.Private.CoreLib.dasm - System.UInt32:System.Numerics.IBinaryInteger<System.UInt32>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-18 (-11.25 % of base) : System.Private.CoreLib.dasm - System.UInt64:System.Numerics.IBinaryInteger<System.UInt64>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-18 (-11.25 % of base) : System.Private.CoreLib.dasm - System.UIntPtr:System.Numerics.IBinaryInteger<nuint>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-9 (-1.86 % of base) : System.Private.CoreLib.dasm - System.Int128:System.Numerics.IBinaryInteger<System.Int128>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-6 (-2.56 % of base) : System.Private.CoreLib.dasm - System.UInt128:System.Numerics.IBinaryInteger<System.UInt128>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-2 (-0.73 % of base) : System.Private.CoreLib.dasm - System.Int32:System.Numerics.IBinaryInteger<System.Int32>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-2 (-0.72 % of base) : System.Private.CoreLib.dasm - System.Int64:System.Numerics.IBinaryInteger<System.Int64>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-2 (-0.72 % of base) : System.Private.CoreLib.dasm - System.IntPtr:System.Numerics.IBinaryInteger<nint>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
Top method improvements (percentages):
-18 (-11.25 % of base) : System.Private.CoreLib.dasm - System.UInt32:System.Numerics.IBinaryInteger<System.UInt32>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-18 (-11.25 % of base) : System.Private.CoreLib.dasm - System.UInt64:System.Numerics.IBinaryInteger<System.UInt64>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-18 (-11.25 % of base) : System.Private.CoreLib.dasm - System.UIntPtr:System.Numerics.IBinaryInteger<nuint>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-6 (-2.56 % of base) : System.Private.CoreLib.dasm - System.UInt128:System.Numerics.IBinaryInteger<System.UInt128>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-9 (-1.86 % of base) : System.Private.CoreLib.dasm - System.Int128:System.Numerics.IBinaryInteger<System.Int128>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-2 (-0.73 % of base) : System.Private.CoreLib.dasm - System.Int32:System.Numerics.IBinaryInteger<System.Int32>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-2 (-0.72 % of base) : System.Private.CoreLib.dasm - System.Int64:System.Numerics.IBinaryInteger<System.Int64>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
-2 (-0.72 % of base) : System.Private.CoreLib.dasm - System.IntPtr:System.Numerics.IBinaryInteger<nint>.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool (FullOpts)
8 total methods with Code Size differences (8 improved, 0 regressed), 286907 unchanged.
--------------------------------------------------------------------------------
Artifacts:
- diff-frameworks.txt (3 KB)
- ShortDiffsImprovements.md (54 KB)
- LongDiffsImprovements.md (144 KB)
- jit-diffs-pr.zip (158 MB)
- jit-diffs-main.zip (158 MB)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
MihuBot commentedon May 7, 2026
Top method improvements
-18 (-11.25 % of base) - System.UInt32:System.Numerics.IBinaryInteger.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool
-18 (-11.25 % of base) - System.UInt64:System.Numerics.IBinaryInteger.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool
-18 (-11.25 % of base) - System.UIntPtr:System.Numerics.IBinaryInteger.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool
-2 (-0.73 % of base) - System.Int32:System.Numerics.IBinaryInteger.TryReadLittleEndian(System.ReadOnlySpan`1[byte],bool,byref):bool
Note: some changes were skipped as they were too large to fit into a comment.
Larger list of diffs: https://gist.github.com/MihuBot/04afea51067e218fbf20b14bff4843ed
MihuBot commentedon May 7, 2026
@EgorBo
Reduce Unsafe usage in primitive IBinaryInteger TryRead/TryWrite (#12…
Reduce Unsafe usage in primitive IBinaryInteger TryRead/TryWrite (#12…