Closed performanceautofiler[bot] closed 1 year ago
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | c2469455eab98fdcea71997d3cc5004a992fc88f |
Compare | 58614a0f6da787c9d6d914b99564f066d13f69ed |
Diff | Diff |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
[TransformByMatrix4x4Benchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Plane.TransformByMatrix4x4Benchmark.html>) | 343.60 ns | 468.23 ns | 1.36 | 0.15 | False |
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Plane*'
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | c2469455eab98fdcea71997d3cc5004a992fc88f |
Compare | 58614a0f6da787c9d6d914b99564f066d13f69ed |
Diff | Diff |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
[TransformNormalByMatrix3x2Benchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Vector2.TransformNormalByMatrix3x2Benchmark.html>) | 23.06 ns | 43.48 ns | 1.89 | 0.25 | False | |||||
[TransformByMatrix3x2Benchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Vector2.TransformByMatrix3x2Benchmark.html>) | 25.59 ns | 50.48 ns | 1.97 | 0.26 | False | |||||
[TransformNormalByMatrix4x4Benchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Vector2.TransformNormalByMatrix4x4Benchmark.html>) | 24.24 ns | 107.76 ns | 4.45 | 0.29 | False | |||||
[TransformByMatrix4x4Benchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Vector2.TransformByMatrix4x4Benchmark.html>) | 26.79 ns | 112.35 ns | 4.19 | 0.27 | False |
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Vector2*'
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | c2469455eab98fdcea71997d3cc5004a992fc88f |
Compare | 58614a0f6da787c9d6d914b99564f066d13f69ed |
Diff | Diff |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
[CreateFromRotationMatrixBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Quaternion.CreateFromRotationMatrixBenchmark.html>) | 40.25 ns | 133.00 ns | 3.30 | 0.20 | False | |||||
[MultiplyByQuaternionBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Quaternion.MultiplyByQuaternionBenchmark.html>) | 102.80 ns | 111.93 ns | 1.09 | 0.25 | False | |||||
[DivideBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Quaternion.DivideBenchmark.html>) | 80.34 ns | 90.00 ns | 1.12 | 0.20 | False | |||||
[IsIdentityBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Quaternion.IsIdentityBenchmark.html>) | 77.11 ns | 91.72 ns | 1.19 | 0.18 | False | |||||
[AddBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Quaternion.AddBenchmark.html>) | 72.52 ns | 90.71 ns | 1.25 | 0.21 | False | |||||
[SubtractBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Quaternion.SubtractBenchmark.html>) | 79.28 ns | 90.33 ns | 1.14 | 0.27 | False |
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Quaternion*'
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | c2469455eab98fdcea71997d3cc5004a992fc88f |
Compare | 58614a0f6da787c9d6d914b99564f066d13f69ed |
Diff | Diff |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
[TransformVector2ByMatrix4x4Benchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Vector4.TransformVector2ByMatrix4x4Benchmark.html>) | 43.16 ns | 126.18 ns | 2.92 | 0.25 | False | |||||
[TransformVector3ByMatrix4x4Benchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Vector4.TransformVector3ByMatrix4x4Benchmark.html>) | 62.86 ns | 159.35 ns | 2.54 | 0.18 | False | |||||
[TransformByMatrix4x4Benchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Vector4.TransformByMatrix4x4Benchmark.html>) | 63.74 ns | 158.89 ns | 2.49 | 0.17 | False |
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Vector4*'
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | c2469455eab98fdcea71997d3cc5004a992fc88f |
Compare | 58614a0f6da787c9d6d914b99564f066d13f69ed |
Diff | Diff |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
[TransformNormalByMatrix4x4Benchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Vector3.TransformNormalByMatrix4x4Benchmark.html>) | 38.76 ns | 124.46 ns | 3.21 | 0.25 | False | |||||
[TransformByMatrix4x4Benchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Vector3.TransformByMatrix4x4Benchmark.html>) | 43.50 ns | 129.14 ns | 2.97 | 0.21 | False |
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Vector3*'
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | c2469455eab98fdcea71997d3cc5004a992fc88f |
Compare | 58614a0f6da787c9d6d914b99564f066d13f69ed |
Diff | Diff |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
[IsIdentityBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.IsIdentityBenchmark.html>) | 38.72 ns | 97.40 ns | 2.52 | 0.24 | False | |||||
[CreateSkewFromScalarXYWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateSkewFromScalarXYWithCenterBenchmark.html>) | 60.35 ns | 81.94 ns | 1.36 | 0.09 | False | |||||
[SubtractBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.SubtractBenchmark.html>) | 36.42 ns | 128.40 ns | 3.53 | 0.31 | False | |||||
[EqualityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.EqualityOperatorBenchmark.html>) | 27.21 ns | 122.52 ns | 4.50 | 0.22 | False | |||||
[GetDeterminantBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.GetDeterminantBenchmark.html>) | 21.36 ns | 43.23 ns | 2.02 | 0.33 | False | |||||
[InvertBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.InvertBenchmark.html>) | 52.85 ns | 129.96 ns | 2.46 | 0.20 | False | |||||
[CreateFromScalars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateFromScalars.html>) | 21.60 ns | 34.41 ns | 1.59 | 0.33 | False | |||||
[NegationOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.NegationOperatorBenchmark.html>) | 26.78 ns | 90.98 ns | 3.40 | 0.26 | False | |||||
[EqualsBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.EqualsBenchmark.html>) | 81.54 ns | 186.69 ns | 2.29 | 0.16 | False | |||||
[NegateBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.NegateBenchmark.html>) | 30.11 ns | 92.58 ns | 3.07 | 0.33 | False | |||||
[InequalityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.InequalityOperatorBenchmark.html>) | 38.75 ns | 122.49 ns | 3.16 | 0.14 | False | |||||
[CreateTranslationFromVectorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateTranslationFromVectorBenchmark.html>) | 23.84 ns | 43.19 ns | 1.81 | 0.28 | False | |||||
[CreateRotationBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateRotationBenchmark.html>) | 69.47 ns | 87.71 ns | 1.26 | 0.20 | False | |||||
[CreateRotationWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateRotationWithCenterBenchmark.html>) | 83.77 ns | 101.41 ns | 1.21 | 0.17 | False | |||||
[AddOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.AddOperatorBenchmark.html>) | 35.59 ns | 127.87 ns | 3.59 | 0.27 | False | |||||
[MultiplyByMatrixBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.MultiplyByMatrixBenchmark.html>) | 73.56 ns | 170.94 ns | 2.32 | 0.18 | False | |||||
[CreateScaleFromScalarBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarBenchmark.html>) | 14.36 ns | 33.79 ns | 2.35 | 0.41 | False | |||||
[CreateScaleFromScalarXYWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYWithCenterBenchmark.html>) | 22.69 ns | 65.52 ns | 2.89 | 0.25 | False | |||||
[SubtractOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.SubtractOperatorBenchmark.html>) | 35.03 ns | 128.21 ns | 3.66 | 0.22 | False | |||||
[CreateScaleFromScalarXYBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYBenchmark.html>) | 14.78 ns | 34.10 ns | 2.31 | 0.37 | False | |||||
[MultiplyByMatrixOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.MultiplyByMatrixOperatorBenchmark.html>) | 67.11 ns | 184.36 ns | 2.75 | 0.14 | False | |||||
[MultiplyByScalarOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarOperatorBenchmark.html>) | 29.51 ns | 96.77 ns | 3.28 | 0.24 | False | |||||
[CreateScaleFromScalarWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarWithCenterBenchmark.html>) | 22.94 ns | 61.98 ns | 2.70 | 0.25 | False | |||||
[CreateScaleFromVectorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorBenchmark.html>) | 22.36 ns | 44.47 ns | 1.99 | 0.30 | False | |||||
[LerpBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.LerpBenchmark.html>) | 68.01 ns | 183.15 ns | 2.69 | 0.19 | False | |||||
[CreateScaleFromVectorWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorWithCenterBenchmark.html>) | 33.12 ns | 68.89 ns | 2.08 | 0.28 | False | |||||
[IdentityBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.IdentityBenchmark.html>) | 3.59 ns | 26.45 ns | 7.37 | 0.63 | False | |||||
[CreateTranslationFromScalarXY - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateTranslationFromScalarXY.html>) | 14.91 ns | 43.77 ns | 2.94 | 0.39 | False | |||||
[CreateSkewFromScalarXYBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.CreateSkewFromScalarXYBenchmark.html>) | 51.25 ns | 83.99 ns | 1.64 | 0.06 | False | |||||
[MultiplyByScalarBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarBenchmark.html>) | 31.74 ns | 97.45 ns | 3.07 | 0.26 | False | |||||
[AddBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=false_MonoInterpreter=true/System.Numerics.Tests.Perf_Matrix3x2.AddBenchmark.html>) | 37.11 ns | 127.36 ns | 3.43 | 0.21 | False |
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix3x2*'
New Matrix4x4
implementation relies on Vector4
. For example, a change in createTranslation
method.
static void SimpleTranslation () {
Matrix4x4 _identity = new Matrix4x4
(
1f, 0f, 0f, 0f,
0f, 1f, 0f, 0f,
0f, 0f, 1f, 0f,
0f, 0f, 0f, 1f
);
_identity.M41 = 1.0f;
_identity.M42 = 2.0f;
_identity.M43 = 3.0f;
}
static void Vector4Translation () {
Impl result;
result.X = Vector4.UnitX;
result.Y = Vector4.UnitY;
result.Z = Vector4.UnitZ;
result.W = new Vector4(positionX, positionY, positionZ, 1);
return result;
}
A change in instruction stream for createTranslation
method.
Runtime method: MyApp.Program:SimpleTranslation () 0x16d92d5b0
Locals size 208
Calculated stack height: 17, stated height: 17
IR_0000: initlocals [nil <- nil], 0,64
IR_0003: ldloca.s [72 <- nil], 0
IR_0006: ldc.r4 [80 <- nil], 1
IR_000a: ldc.r4 [88 <- nil], 0
IR_000e: ldc.r4 [96 <- nil], 0
IR_0012: ldc.r4 [104 <- nil], 0
IR_0016: ldc.r4 [112 <- nil], 0
IR_001a: ldc.r4 [120 <- nil], 1
IR_001e: ldc.r4 [128 <- nil], 0
IR_0022: ldc.r4 [136 <- nil], 0
IR_0026: ldc.r4 [144 <- nil], 0
IR_002a: ldc.r4 [152 <- nil], 0
IR_002e: ldc.r4 [160 <- nil], 1
IR_0032: ldc.r4 [168 <- nil], 0
IR_0036: ldc.r4 [176 <- nil], 0
IR_003a: ldc.r4 [184 <- nil], 0
IR_003e: ldc.r4 [192 <- nil], 0
IR_0042: ldc.r4 [200 <- nil], 1
IR_0046: call [64 <- 72], 0
IR_004a: ldc.r4 [64 <- nil], 1
IR_004e: mov.4 [48 <- 64],
IR_0051: ldc.r4 [64 <- nil], 2
IR_0055: mov.4 [52 <- 64],
IR_0058: ldc.r4 [64 <- nil], 3
IR_005c: mov.4 [56 <- 64],
IR_005f: ret.void [nil <- nil],
Runtime method: System.Numerics.Matrix4x4:CreateTranslation (single,single,single) 0x16bb515b0
Locals size 200
Calculated stack height: 6, stated height: 3
IR_0000: initlocals [nil <- nil], 24,64
IR_0003: ldloca.s [152 <- nil], 88
IR_0006: call [160 <- 192], 0
IR_000a: stfld.vt.noref [nil <- 152 160], 0,16
IR_000f: ldloca.s [152 <- nil], 88
IR_0012: call [160 <- 192], 1
IR_0016: stfld.vt.noref [nil <- 152 160], 16,16
IR_001b: ldloca.s [152 <- nil], 88
IR_001e: call [160 <- 192], 2
IR_0022: stfld.vt.noref [nil <- 152 160], 32,16
IR_0027: ldloca.s [152 <- nil], 88
IR_002a: ldc.r4 [160 <- nil], 1
IR_002e: newobj_vt_inlined [184 <- 168], 16
IR_0032: stfld.r4 [nil <- 184 0], 0
IR_0036: stfld.r4 [nil <- 184 8], 4
IR_003a: stfld.r4 [nil <- 184 16], 8
IR_003e: stfld.r4 [nil <- 184 160], 12
IR_0042: stfld.vt.noref [nil <- 152 168], 48,16
IR_0047: mov.vt [24 <- 88], 64
IR_004b: ret.vt [nil <- 24], 64
Redundant ldloca
and stfld
opcodes in the new implementation may have caused regressions. cc @BrzVlad
@BrzVlad the regressions are mitigated by https://github.com/dotnet/runtime/pull/87822.
Run Information
Regressions in System.Numerics.Tests.Perf_Matrix4x4
Test Report
Repro