runtime: [Perf][Mono] Linux/x64 Regressions due to rewritten of Matrix3x2 and Matrix4x4

Run Information

Architecture x64
OS ubuntu 18.04
Baseline c2469455eab98fdcea71997d3cc5004a992fc88f
Compare 58614a0f6da787c9d6d914b99564f066d13f69ed
Diff Diff

Regressions in System.Numerics.Tests.Perf_Matrix3x2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IdentityBenchmark - Duration of single invocation 8.40 ns 16.12 ns 1.92 0.04 False
CreateSkewFromScalarXYBenchmark - Duration of single invocation 56.44 ns 62.10 ns 1.10 0.04 False
MultiplyByMatrixOperatorBenchmark - Duration of single invocation 20.91 ns 45.61 ns 2.18 0.08 False
CreateRotationBenchmark - Duration of single invocation 44.60 ns 51.24 ns 1.15 0.11 False
CreateScaleFromScalarWithCenterBenchmark - Duration of single invocation 16.75 ns 30.72 ns 1.83 0.01 False
SubtractBenchmark - Duration of single invocation 18.94 ns 46.44 ns 2.45 0.08 False
CreateFromScalars - Duration of single invocation 11.36 ns 18.16 ns 1.60 0.02 False
MultiplyByScalarBenchmark - Duration of single invocation 16.77 ns 40.19 ns 2.40 0.05 False
CreateTranslationFromVectorBenchmark - Duration of single invocation 16.75 ns 21.93 ns 1.31 0.01 False
EqualityOperatorBenchmark - Duration of single invocation 10.18 ns 28.93 ns 2.84 0.01 False
SubtractOperatorBenchmark - Duration of single invocation 19.01 ns 46.39 ns 2.44 0.06 False
InvertBenchmark - Duration of single invocation 20.64 ns 34.57 ns 1.67 0.01 False
EqualsBenchmark - Duration of single invocation 25.25 ns 53.92 ns 2.14 0.10 False
NegationOperatorBenchmark - Duration of single invocation 16.98 ns 32.05 ns 1.89 0.09 False
NegateBenchmark - Duration of single invocation 16.69 ns 31.95 ns 1.92 0.08 False
CreateScaleFromScalarXYWithCenterBenchmark - Duration of single invocation 16.76 ns 31.00 ns 1.85 0.01 False
CreateScaleFromScalarXYBenchmark - Duration of single invocation 12.57 ns 18.88 ns 1.50 0.08 False
AddBenchmark - Duration of single invocation 19.02 ns 46.39 ns 2.44 0.07 False
IsIdentityBenchmark - Duration of single invocation 13.48 ns 19.30 ns 1.43 0.02 False
CreateScaleFromScalarBenchmark - Duration of single invocation 12.55 ns 18.46 ns 1.47 0.06 False
CreateScaleFromVectorBenchmark - Duration of single invocation 16.51 ns 22.84 ns 1.38 0.01 False
AddOperatorBenchmark - Duration of single invocation 19.04 ns 46.43 ns 2.44 0.07 False
CreateTranslationFromScalarXY - Duration of single invocation 12.51 ns 20.09 ns 1.61 0.05 False
CreateRotationWithCenterBenchmark - Duration of single invocation 44.03 ns 52.72 ns 1.20 0.04 False
GetDeterminantBenchmark - Duration of single invocation 2.87 ns 11.95 ns 4.17 0.25 False
MultiplyByScalarOperatorBenchmark - Duration of single invocation 16.76 ns 40.64 ns 2.42 0.04 False
CreateScaleFromVectorWithCenterBenchmark - Duration of single invocation 18.96 ns 31.58 ns 1.67 0.00 False
CreateSkewFromScalarXYWithCenterBenchmark - Duration of single invocation 58.00 ns 70.04 ns 1.21 0.07 False
LerpBenchmark - Duration of single invocation 19.88 ns 70.42 ns 3.54 0.02 False
InequalityOperatorBenchmark - Duration of single invocation 11.16 ns 31.88 ns 2.86 0.14 False
MultiplyByMatrixBenchmark - Duration of single invocation 20.89 ns 41.54 ns 1.99 0.10 False

Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix3x2*'

Payloads

Baseline Compare

Histogram

System.Numerics.Tests.Perf_Matrix3x2.IdentityBenchmark


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 16.1170715972419 > 8.779757540121146.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -254.53153213062367 (T) = (0 -16.083560149063185) / Math.Sqrt((0.001926098899505196 / (33)) + (0.011237118207559184 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.9257912583838191 = (8.351663285958097 - 16.083560149063185) / 8.351663285958097 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateSkewFromScalarXYBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 62.09831721000358 > 59.531138143907654.
IsChangePoint: Marked as a change because one of 10/25/2022 10:16:52 PM, 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -16.560452983987847 (T) = (0 -62.53444218615319) / Math.Sqrt((0.9328573373921963 / (33)) + (1.0733628157115904 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.09668835830593463 = (57.0211598514192 - 62.53444218615319) / 57.0211598514192 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.MultiplyByMatrixOperatorBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 45.61063643770324 > 21.97107994273363.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -304.4620913598168 (T) = (0 -45.57945842511619) / Math.Sqrt((0.09041209005228089 / (34)) + (0.04948522199779135 / (13))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (13) - 2, .025) and -1.160396843068091 = (21.09772497185584 - 45.57945842511619) / 21.09772497185584 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateRotationBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 51.24146566275764 > 47.50489430794441.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -6.740481081994737 (T) = (0 -52.141064267883266) / Math.Sqrt((2.874604501015353 / (34)) + (12.302511842422993 / (13))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (13) - 2, .025) and -0.15108664514726983 = (45.29725411001736 - 52.141064267883266) / 45.29725411001736 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarWithCenterBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 30.72195955532573 > 17.693373325659884.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -421.6773420655804 (T) = (0 -30.65982104328606) / Math.Sqrt((0.015760310935519852 / (33)) + (0.007913140801036951 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.8291479783774841 = (16.76180462473154 - 30.65982104328606) / 16.76180462473154 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.SubtractBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 46.43912251867836 > 19.90320844120924.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -310.4823824112218 (T) = (0 -46.430263056069016) / Math.Sqrt((0.20794228861333147 / (33)) + (0.018218945325303923 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -1.4206761921279922 = (19.18069967683395 - 46.430263056069016) / 19.18069967683395 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateFromScalars

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 18.159054323963424 > 11.922301909528777.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -209.8891275280426 (T) = (0 -18.090078386694362) / Math.Sqrt((0.012911275618178179 / (33)) + (0.008381905393540069 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.5960408866985166 = (11.334345214748549 - 18.090078386694362) / 11.334345214748549 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 40.188801007724884 > 17.6500731792126.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -411.74863088868904 (T) = (0 -40.572706127567386) / Math.Sqrt((0.07470379353052545 / (33)) + (0.013569301458640798 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -1.40181373178374 = (16.892528171797697 - 40.572706127567386) / 16.892528171797697 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateTranslationFromVectorBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 21.926951254628044 > 17.338612593142127.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -287.650195984513 (T) = (0 -21.914907338151774) / Math.Sqrt((0.0065188199967778785 / (33)) + (0.0019396533474079203 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.32347953291560266 = (16.558554018492156 - 21.914907338151774) / 16.558554018492156 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.EqualityOperatorBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 28.92719528446762 > 10.697955237150197.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -218.93938823747507 (T) = (0 -29.003128777482747) / Math.Sqrt((0.0030728037938138244 / (34)) + (0.09464505067021421 / (13))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (13) - 2, .025) and -1.8416358170329217 = (10.206490431897146 - 29.003128777482747) / 10.206490431897146 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.SubtractOperatorBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 46.39200286691129 > 19.977668814467535.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -272.96160630930746 (T) = (0 -46.506625861677094) / Math.Sqrt((0.09382431075181882 / (33)) + (0.09410866398596839 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -1.4351075568070106 = (19.098386735187187 - 46.506625861677094) / 19.098386735187187 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.InvertBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 34.566725516828605 > 21.677134939741915.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -1111.4299773957994 (T) = (0 -34.559403077146) / Math.Sqrt((0.0029481550335933686 / (33)) + (0.0008759877098790313 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.6739376523835631 = (20.64557364363958 - 34.559403077146) / 20.64557364363958 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.EqualsBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 53.91868561422856 > 26.2477724049705.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -332.01168458768075 (T) = (0 -53.33088011874406) / Math.Sqrt((0.08063792890778484 / (34)) + (0.06309714393887177 / (13))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (13) - 2, .025) and -1.1239542080878284 = (25.10924195807274 - 53.33088011874406) / 25.10924195807274 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.NegationOperatorBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 32.051414219448404 > 17.695443317993124.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -324.06067998885464 (T) = (0 -32.05644566449677) / Math.Sqrt((0.046573070671551114 / (33)) + (0.010573085207756162 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.911325360022599 = (16.771841328007987 - 32.05644566449677) / 16.771841328007987 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.NegateBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 31.954722448348868 > 17.585312423553013.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -181.43173114388946 (T) = (0 -32.015518877440435) / Math.Sqrt((0.21126329726292467 / (34)) + (0.0105040981818157 / (13))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (13) - 2, .025) and -0.9042787014595967 = (16.81241241258493 - 32.015518877440435) / 16.81241241258493 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYWithCenterBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 30.995550254127533 > 17.66708711221895.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -285.12587086217036 (T) = (0 -30.946274122708232) / Math.Sqrt((0.07721309104027077 / (33)) + (0.0014162117481963772 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.838000695753692 = (16.83692187614672 - 30.946274122708232) / 16.83692187614672 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 18.882947441669117 > 13.189017422181456.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -55.55470061478877 (T) = (0 -19.030423672363636) / Math.Sqrt((0.13700626061888083 / (34)) + (0.12020604864001151 / (13))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (13) - 2, .025) and -0.5068501142722425 = (12.629274466063723 - 19.030423672363636) / 12.629274466063723 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.AddBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 46.391042979994594 > 19.90060248706082.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -355.5605200656372 (T) = (0 -46.49489593577189) / Math.Sqrt((0.12149290798935458 / (33)) + (0.029385199579446204 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -1.435980177147107 = (19.086730003782005 - 46.49489593577189) / 19.086730003782005 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.IsIdentityBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 19.30422572670209 > 14.161178072370516.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -277.0243159738928 (T) = (0 -19.294658401840874) / Math.Sqrt((0.005610977309822754 / (33)) + (0.003535564368932403 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.4323552866669119 = (13.47058134350138 - 19.294658401840874) / 13.47058134350138 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 18.463711815612744 > 13.139929827393667.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -117.99261684372159 (T) = (0 -18.38890397128454) / Math.Sqrt((0.07393242191396546 / (33)) + (0.0007919825641759789 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.44469404781744415 = (12.728580144055677 - 18.38890397128454) / 12.728580144055677 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 22.84097212321653 > 17.298658156026214.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -359.6209927616292 (T) = (0 -22.866320724996474) / Math.Sqrt((0.008398944644785725 / (34)) + (0.000858031124367009 / (13))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (13) - 2, .025) and -0.3855295133723204 = (16.50366917795985 - 22.866320724996474) / 16.50366917795985 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.AddOperatorBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 46.428377203622844 > 20.105451167056177.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -314.850885072455 (T) = (0 -46.42533866098077) / Math.Sqrt((0.2403294451474157 / (33)) + (0.0022880699266805142 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -1.4137620824836317 = (19.233601769571088 - 46.42533866098077) / 19.233601769571088 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateTranslationFromScalarXY

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 20.088389224962306 > 13.078997645296724.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -242.71808045692998 (T) = (0 -20.1325924115461) / Math.Sqrt((0.01064029570901716 / (33)) + (0.008665226282558473 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.610665828908966 = (12.499546492014131 - 20.1325924115461) / 12.499546492014131 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateRotationWithCenterBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 52.71724873371493 > 46.639199112224794.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -60.168778608199204 (T) = (0 -52.68181584415189) / Math.Sqrt((0.281223712564035 / (33)) + (0.13827975720134014 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.18777059313142191 = (44.35352764986569 - 52.68181584415189) / 44.35352764986569 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.GetDeterminantBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 11.950957135984433 > 2.996468120579729.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -219.32368822521462 (T) = (0 -11.976463472760638) / Math.Sqrt((0.056129724448056535 / (33)) + (0.0004165465808459398 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -3.2077025574970537 = (2.8463189374975264 - 11.976463472760638) / 2.8463189374975264 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarOperatorBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 40.64403586474338 > 17.61270558474604.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -228.33297298262184 (T) = (0 -40.61056762117086) / Math.Sqrt((0.17493377666930157 / (33)) + (0.06859850272490982 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -1.3711646218978444 = (17.126844440124437 - 40.61056762117086) / 17.126844440124437 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorWithCenterBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 31.580353776054306 > 19.899248185170258.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -398.72587244241515 (T) = (0 -31.667880944504127) / Math.Sqrt((0.011845267869099093 / (34)) + (0.008742918991994548 / (13))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (13) - 2, .025) and -0.6730847051235954 = (18.927840800603537 - 31.667880944504127) / 18.927840800603537 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.CreateSkewFromScalarXYWithCenterBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 70.03780524315319 > 61.026804138814086.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -22.1445062538951 (T) = (0 -68.71198486234523) / Math.Sqrt((0.314658833925018 / (33)) + (2.7302677959686643 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -0.1778702589925995 = (58.3357838758173 - 68.71198486234523) / 58.3357838758173 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.LerpBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 70.42232653576882 > 20.989393293080862.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -767.7443749016204 (T) = (0 -70.28562472980441) / Math.Sqrt((0.13140301596351825 / (33)) + (0.0037935223980148647 / (13))) is less than -2.0153675744421933 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (13) - 2, .025) and -2.497607434220802 = (20.095344046368847 - 70.28562472980441) / 20.095344046368847 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.InequalityOperatorBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 31.88459321780881 > 11.782146081631137.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -308.62981129127974 (T) = (0 -31.936232511384553) / Math.Sqrt((0.10718863021963146 / (34)) + (0.016978292545668905 / (13))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (13) - 2, .025) and -1.8192036938629845 = (11.328103953930432 - 31.936232511384553) / 11.328103953930432 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Matrix3x2.MultiplyByMatrixBenchmark

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 41.54111598809827 > 21.9629920429615.
IsChangePoint: Marked as a change because one of 1/6/2023 6:58:01 PM, 1/10/2023 1:28:02 AM falls between 1/1/2023 3:57:25 AM and 1/10/2023 1:28:02 AM.
IsRegressionStdDev: Marked as regression because -155.49686986622172 (T) = (0 -41.67980367373881) / Math.Sqrt((0.4966748214247984 / (34)) + (0.03606185855477228 / (13))) is less than -2.0141033888794695 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (13) - 2, .025) and -0.9679846337583512 = (21.178927395454792 - 41.67980367373881) / 21.178927395454792 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository Benchmarking workflow for dotnet/runtime repository

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Comments: 16 (12 by maintainers)

Most upvoted comments

Current implementation of Matrix3x2 is heavily relied on Vector2 and Matrix4x4 is heavily relied on Vector4. Need to intrinsify Vector2 and Vector4 on mini JIT to bring the performance back.

Getting the generated code is not hard for Mono JIT either with/without LLVM. You set environment variable MONO_VERBOSE_METHOD=<method_name>. Then you could run anything and the generated code will print out in the terminal.

We do have already added SIMD support for Vector4 and Vector128 on x64 with LLVM. I was surprised to see some of the Matrix4x4 API’s regressed with Tanner’s change. For example the add and subtraction operators, the new library code only uses Vector4 add and subtraction, which should have SIMD support. I would need to inspect the generated code to find the reason.

Assigning this to @fanyang-mono and @jandupej so they can track it as part of the simd work.