Skip to content

[JitDiff X64] [Daniel-Svensson] Some System.Decimal performance improvements #528

Open
@MihuBot

Description

@MihuBot

Job completed in 14 minutes.
dotnet/runtime#99212

Diffs

Found 260 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 39178912
Total bytes of diff: 39178748
Total bytes of delta: -164 (-0.00 % of base)
Total relative delta: -1.62
    diff is an improvement.
    relative diff is an improvement.


Total byte diff includes 179 bytes from reconciling methods
	Base had    2 unique methods,      139 unique bytes
	Diff had    7 unique methods,      318 unique bytes

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

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

Top method regressions (bytes):
          95 (5.21 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecDiv(byref,byref) (FullOpts)
          94 (Infinity of base) : System.Private.CoreLib.dasm - System.Math:<BigMul>g__SoftwareFallback|49_0(ulong,ulong,byref):ulong (FullOpts) (0 base, 1 diff methods)
          45 (Infinity of base) : System.Private.CoreLib.dasm - System.Math:<CopySign>g__SoftwareFallback|55_0(double,double):double (FullOpts) (0 base, 1 diff methods)
          45 (Infinity of base) : System.Private.CoreLib.dasm - System.Math:BigMul(uint,ulong,byref):ulong (FullOpts) (0 base, 1 diff methods)
          45 (Infinity of base) : System.Private.CoreLib.dasm - System.Math:BigMul(ulong,uint,byref):ulong (FullOpts) (0 base, 1 diff methods)
          44 (Infinity of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale(byref,uint) (FullOpts) (0 base, 1 diff methods)
          28 (Infinity of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div64By32(ulong,uint):System.ValueTuple`2[uint,uint] (FullOpts) (0 base, 1 diff methods)
          17 (Infinity of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div128By64(ulong,ulong):ulong (FullOpts) (0 base, 1 diff methods)
           4 (13.79 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale64(byref,uint) (FullOpts)

Top method improvements (bytes):
        -158 (-19.73 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecMul(byref,byref) (FullOpts)
        -142 (-88.75 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div96By64(byref,ulong):uint (FullOpts)
         -94 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Math:<BigMul>g__SoftwareFallback|47_0(ulong,ulong,byref):ulong (FullOpts) (1 base, 0 diff methods)
         -45 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Math:<CopySign>g__SoftwareFallback|53_0(double,double):double (FullOpts) (1 base, 0 diff methods)
         -40 (-39.22 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div96By32(byref,uint):uint (FullOpts)
         -26 (-11.21 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecCmpSub(byref,byref):int (FullOpts)
         -23 (-3.58 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecFromR4(float,byref) (FullOpts)
         -21 (-1.63 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:DecAddSub(byref,byref,ubyte) (FullOpts)
         -12 (-7.23 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div128By96(byref,byref):uint (FullOpts)
          -9 (-4.07 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarCyFromDec(byref):long (FullOpts)
          -9 (-1.46 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecMod(byref,byref) (FullOpts)
          -2 (-4.08 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale(byref,uint):uint (FullOpts)

Top method regressions (percentages):
          17 (Infinity of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div128By64(ulong,ulong):ulong (FullOpts) (0 base, 1 diff methods)
          28 (Infinity of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div64By32(ulong,uint):System.ValueTuple`2[uint,uint] (FullOpts) (0 base, 1 diff methods)
          44 (Infinity of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale(byref,uint) (FullOpts) (0 base, 1 diff methods)
          94 (Infinity of base) : System.Private.CoreLib.dasm - System.Math:<BigMul>g__SoftwareFallback|49_0(ulong,ulong,byref):ulong (FullOpts) (0 base, 1 diff methods)
          45 (Infinity of base) : System.Private.CoreLib.dasm - System.Math:<CopySign>g__SoftwareFallback|55_0(double,double):double (FullOpts) (0 base, 1 diff methods)
          45 (Infinity of base) : System.Private.CoreLib.dasm - System.Math:BigMul(uint,ulong,byref):ulong (FullOpts) (0 base, 1 diff methods)
          45 (Infinity of base) : System.Private.CoreLib.dasm - System.Math:BigMul(ulong,uint,byref):ulong (FullOpts) (0 base, 1 diff methods)
           4 (13.79 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale64(byref,uint) (FullOpts)
          95 (5.21 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecDiv(byref,byref) (FullOpts)

Top method improvements (percentages):
         -94 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Math:<BigMul>g__SoftwareFallback|47_0(ulong,ulong,byref):ulong (FullOpts) (1 base, 0 diff methods)
         -45 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Math:<CopySign>g__SoftwareFallback|53_0(double,double):double (FullOpts) (1 base, 0 diff methods)
        -142 (-88.75 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div96By64(byref,ulong):uint (FullOpts)
         -40 (-39.22 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div96By32(byref,uint):uint (FullOpts)
        -158 (-19.73 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecMul(byref,byref) (FullOpts)
         -26 (-11.21 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecCmpSub(byref,byref):int (FullOpts)
         -12 (-7.23 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div128By96(byref,byref):uint (FullOpts)
          -2 (-4.08 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale(byref,uint):uint (FullOpts)
          -9 (-4.07 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarCyFromDec(byref):long (FullOpts)
         -23 (-3.58 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecFromR4(float,byref) (FullOpts)
         -21 (-1.63 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:DecAddSub(byref,byref,ubyte) (FullOpts)
          -9 (-1.46 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecMod(byref,byref) (FullOpts)

21 total methods with Code Size differences (12 improved, 9 regressed), 230455 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