Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Perf] Linux/x64: 42 Improvements on 2/2/2023 8:18:56 AM #12504

Closed
performanceautofiler bot opened this issue Feb 7, 2023 · 3 comments
Closed

[Perf] Linux/x64: 42 Improvements on 2/2/2023 8:18:56 AM #12504

performanceautofiler bot opened this issue Feb 7, 2023 · 3 comments
Labels
arch-x64 branch-refs/heads/main kind-micro_mono mono-interpreter os-linux perf-improvement PGO Applied if there were any profile guided optimization updates in the observed interval. runtime-mono

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Feb 7, 2023

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 2ba2396495c22429035d165e478672c442f81e22
Compare 6aa9f8b5a5d7ea4d79715f0b16f2a5b0ab6ac48d
Diff Diff

Improvements in System.Numerics.Tests.Perf_Plane

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
CreateFromVector4Benchmark - Duration of single invocation 37.44 ns 28.02 ns 0.75 0.26 False
TransformByQuaternionBenchmark - Duration of single invocation 102.55 ns 83.83 ns 0.82 0.20 False
DotCoordinateBenchmark - Duration of single invocation 33.01 ns 26.72 ns 0.81 0.19 False
DotBenchmark - Duration of single invocation 38.47 ns 32.69 ns 0.85 0.21 False
CreateFromVerticesBenchmark - Duration of single invocation 109.55 ns 88.91 ns 0.81 0.23 False
CreateFromScalarXYZDBenchmark - Duration of single invocation 20.68 ns 14.78 ns 0.71 0.27 False
CreateFromVector3WithScalarDBenchmark - Duration of single invocation 21.53 ns 17.16 ns 0.80 0.35 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_Plane*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_Plane.CreateFromVector4Benchmark


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 28.021152891306446 < 35.650940875465736.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 38.26171469204002 (T) = (0 -25.438875709246556) / Math.Sqrt((4.677413007963878 / (299)) + (2.238043683480466 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.3241896099846451 = (37.642031086069224 - 25.438875709246556) / 37.642031086069224 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Plane.TransformByQuaternionBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 83.83163185262711 < 96.00209371254547.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 27.692134476255355 (T) = (0 -83.07719966636172) / Math.Sqrt((12.029340716699007 / (299)) + (11.252187621835201 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.18649570672011562 = (102.12263211471361 - 83.07719966636172) / 102.12263211471361 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Plane.DotCoordinateBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 26.716935795219257 < 31.384413678905723.
IsChangePoint: Marked as a change because one of 11/22/2022 7:33:50 PM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 53.882400357865095 (T) = (0 -26.085391066742098) / Math.Sqrt((2.6925787222371333 / (299)) + (0.2391427341390238 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.21794985803090258 = (33.35513884194507 - 26.085391066742098) / 33.35513884194507 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Plane.DotBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 32.68789197312844 < 36.57289728486671.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 36.616189820228364 (T) = (0 -29.78853353280705) / Math.Sqrt((2.9031487695406692 / (299)) + (0.9248870882694632 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.2073366674893439 = (37.58030971163485 - 29.78853353280705) / 37.58030971163485 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Plane.CreateFromVerticesBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 88.91476582194223 < 107.0962512081777.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 37.06377099881083 (T) = (0 -82.26407598050865) / Math.Sqrt((20.755170923904508 / (299)) + (18.28662217427102 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.2836970211172631 = (114.8453634924444 - 82.26407598050865) / 114.8453634924444 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Plane.CreateFromScalarXYZDBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 14.775360140579618 < 19.860766077561063.
IsChangePoint: Marked as a change because one of 12/2/2022 5:21:30 AM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 47.655650136627365 (T) = (0 -15.26938657073575) / Math.Sqrt((1.502299995813914 / (299)) + (0.2863981147966808 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.2832916417909871 = (21.304881400982286 - 15.26938657073575) / 21.304881400982286 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Plane.CreateFromVector3WithScalarDBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 17.162606998867947 < 20.35983558796051.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 40.35466731047875 (T) = (0 -14.840421946430412) / Math.Sqrt((1.8181699745767301 / (299)) + (0.7365608191012072 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.3352910727913456 = (22.326196232613487 - 14.840421946430412) / 22.326196232613487 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Feb 7, 2023

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 2ba2396495c22429035d165e478672c442f81e22
Compare 6aa9f8b5a5d7ea4d79715f0b16f2a5b0ab6ac48d
Diff Diff

Improvements in System.Numerics.Tests.Perf_Vector3

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
UnitXBenchmark - Duration of single invocation 14.87 ns 10.98 ns 0.74 0.40 False
UnitYBenchmark - Duration of single invocation 17.29 ns 8.86 ns 0.51 0.36 False
UnitZBenchmark - Duration of single invocation 16.29 ns 9.18 ns 0.56 0.40 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_Vector3*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_Vector3.UnitXBenchmark


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 10.978773871154466 < 14.297350991346699.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 29.967666402899724 (T) = (0 -9.341132824222012) / Math.Sqrt((3.20066265815803 / (299)) + (0.8714732547271664 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.40285906550169753 = (15.643095766111085 - 9.341132824222012) / 15.643095766111085 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Vector3.UnitYBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 8.863452056517017 < 14.330056912937128.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 34.9930885270502 (T) = (0 -8.867938526607086) / Math.Sqrt((3.443597871043364 / (299)) + (0.6645136914009087 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.431755001237718 = (15.605836471808304 - 8.867938526607086) / 15.605836471808304 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Vector3.UnitZBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 9.180122132031231 < 14.276882325889009.
IsChangePoint: Marked as a change because one of 12/14/2022 5:20:21 PM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 38.98043334383337 (T) = (0 -9.01940601150238) / Math.Sqrt((0.9536789474569115 / (299)) + (0.6100397079228543 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.4136849836110064 = (15.383208274369712 - 9.01940601150238) / 15.383208274369712 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

### Run Information
Architecture x64
OS ubuntu 18.04
Baseline 2ba2396495c22429035d165e478672c442f81e22
Compare 6aa9f8b5a5d7ea4d79715f0b16f2a5b0ab6ac48d
Diff Diff

Improvements in System.Numerics.Tests.Perf_Vector2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TransformByQuaternionBenchmark - Duration of single invocation 64.96 ns 57.77 ns 0.89 0.16 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_Vector2*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_Vector2.TransformByQuaternionBenchmark


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 57.77261041605233 < 60.847237048764036.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 22.388029057371043 (T) = (0 -50.33199577074431) / Math.Sqrt((10.545267469191863 / (299)) + (9.696233532574068 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.22129890635277935 = (64.63583547186656 - 50.33199577074431) / 64.63583547186656 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Feb 7, 2023

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 2ba2396495c22429035d165e478672c442f81e22
Compare 6aa9f8b5a5d7ea4d79715f0b16f2a5b0ab6ac48d
Diff Diff

Improvements in System.Numerics.Tests.Perf_Quaternion

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
NormalizeBenchmark - Duration of single invocation 61.57 ns 48.39 ns 0.79 0.19 False
LengthSquaredBenchmark - Duration of single invocation 49.00 ns 25.75 ns 0.53 0.20 False
CreateFromScalarXYZWBenchmark - Duration of single invocation 17.96 ns 11.77 ns 0.66 0.29 False
DivideBenchmark - Duration of single invocation 83.74 ns 41.25 ns 0.49 0.21 False
MultiplyByQuaternionOperatorBenchmark - Duration of single invocation 108.00 ns 73.29 ns 0.68 0.21 False
IsIdentityBenchmark - Duration of single invocation 82.31 ns 34.10 ns 0.41 0.17 False
InequalityOperatorBenchmark - Duration of single invocation 90.25 ns 33.79 ns 0.37 0.26 False
IdentityBenchmark - Duration of single invocation 24.09 ns 12.05 ns 0.50 0.23 False
CreateFromAxisAngleBenchmark - Duration of single invocation 51.80 ns 46.58 ns 0.90 0.20 False
SubtractionOperatorBenchmark - Duration of single invocation 88.51 ns 37.84 ns 0.43 0.28 False
DotBenchmark - Duration of single invocation 78.45 ns 32.95 ns 0.42 0.25 False
NegationOperatorBenchmark - Duration of single invocation 42.06 ns 28.82 ns 0.69 0.21 False
EqualityOperatorBenchmark - Duration of single invocation 76.73 ns 35.09 ns 0.46 0.28 False
MultiplyByScalarBenchmark - Duration of single invocation 44.07 ns 25.24 ns 0.57 0.21 False
AddBenchmark - Duration of single invocation 86.26 ns 40.11 ns 0.46 0.21 False
DivisionOperatorBenchmark - Duration of single invocation 128.16 ns 102.33 ns 0.80 0.22 False
CreateFromVector3WithScalarBenchmark - Duration of single invocation 34.02 ns 21.12 ns 0.62 0.31 False
SubtractBenchmark - Duration of single invocation 85.88 ns 35.92 ns 0.42 0.23 False
AddOperatorBenchmark - Duration of single invocation 88.34 ns 41.40 ns 0.47 0.21 False
EqualsBenchmark - Duration of single invocation 102.94 ns 79.30 ns 0.77 0.20 False
MultiplyByQuaternionBenchmark - Duration of single invocation 107.17 ns 73.11 ns 0.68 0.20 False
LengthBenchmark - Duration of single invocation 62.83 ns 27.84 ns 0.44 0.16 False
MultiplyByScalarOperatorBenchmark - Duration of single invocation 43.53 ns 24.82 ns 0.57 0.24 False
NegateBenchmark - Duration of single invocation 42.46 ns 28.24 ns 0.67 0.23 False
ConcatenateBenchmark - Duration of single invocation 107.42 ns 73.18 ns 0.68 0.20 False
LerpBenchmark - Duration of single invocation 154.95 ns 134.75 ns 0.87 0.27 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_Quaternion*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_Quaternion.NormalizeBenchmark


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 48.39330985182176 < 58.435116113187114.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 27.023264082191037 (T) = (0 -42.65528210932484) / Math.Sqrt((7.196490174592684 / (299)) + (16.14370196689131 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.3372170303433089 = (64.35784270591542 - 42.65528210932484) / 64.35784270591542 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.LengthSquaredBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 25.753893453539074 < 46.84622991445102.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 68.69742209032313 (T) = (0 -24.332445849826286) / Math.Sqrt((3.4488897076373273 / (299)) + (3.4421668123107976 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.5171613133174295 = (50.394565557715985 - 24.332445849826286) / 50.394565557715985 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.CreateFromScalarXYZWBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 11.770126724098798 < 16.398470347545032.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 15.047061031277291 (T) = (0 -11.562302710989266) / Math.Sqrt((2.0058760294517057 / (299)) + (5.014257590589135 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.3676350842031854 = (18.284225487778887 - 11.562302710989266) / 18.284225487778887 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.DivideBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 41.252246497577076 < 81.31857356215835.
IsChangePoint: Marked as a change because one of 1/5/2023 9:29:47 PM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 66.1897089126578 (T) = (0 -37.876913421915454) / Math.Sqrt((75.93877765643916 / (299)) + (5.504403192580611 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.5439013727193734 = (83.04544490244804 - 37.876913421915454) / 83.04544490244804 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.MultiplyByQuaternionOperatorBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 73.29293338066957 < 101.76958373229775.
IsChangePoint: Marked as a change because one of 11/22/2022 11:24:47 AM, 12/1/2022 11:48:13 PM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 51.93186316060818 (T) = (0 -71.65602033309132) / Math.Sqrt((18.110265848633727 / (299)) + (13.091478398378149 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.35246596826779214 = (110.65985233456449 - 71.65602033309132) / 110.65985233456449 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.IsIdentityBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 34.099972475474715 < 71.76578320748294.
IsChangePoint: Marked as a change because one of 1/5/2023 9:29:47 PM, 1/26/2023 10:17:57 AM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 89.28923963153512 (T) = (0 -35.13279189516472) / Math.Sqrt((60.92725197107311 / (299)) + (2.7943301383018206 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.5864132576526312 = (84.94661046377769 - 35.13279189516472) / 84.94661046377769 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.InequalityOperatorBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 33.79023786288837 < 86.64381452464094.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 191.87879607848132 (T) = (0 -34.828331045424235) / Math.Sqrt((15.570551581071673 / (299)) + (1.064591163329646 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.6269066546428899 = (93.35018026678534 - 34.828331045424235) / 93.35018026678534 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.IdentityBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 12.052354695761325 < 22.912363625267542.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 81.4388639436122 (T) = (0 -10.927535122394627) / Math.Sqrt((1.0711434942049336 / (299)) + (0.7495755419437219 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.5729646911833756 = (25.589301157968368 - 10.927535122394627) / 25.589301157968368 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.CreateFromAxisAngleBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 46.577455138147435 < 48.91486074082413.
IsChangePoint: Marked as a change because one of 12/2/2022 5:21:30 AM, 1/5/2023 11:35:29 PM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 31.94911035431555 (T) = (0 -45.90840362305768) / Math.Sqrt((3.33351429409576 / (299)) + (0.5211634132862769 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.10945943469800697 = (51.5511650022249 - 45.90840362305768) / 51.5511650022249 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.SubtractionOperatorBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 37.840296653243705 < 79.40261959211915.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 89.54039741243332 (T) = (0 -35.46506774765523) / Math.Sqrt((15.678786420003565 / (299)) + (7.120826861714179 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.5905395271066883 = (86.61414250087077 - 35.46506774765523) / 86.61414250087077 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.DotBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 32.94608101974767 < 74.80261565487007.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 40.79614764818138 (T) = (0 -33.00303371360016) / Math.Sqrt((12.71143631894052 / (299)) + (35.313768490399895 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.593990490620025 = (81.28635647967884 - 33.00303371360016) / 81.28635647967884 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.NegationOperatorBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 28.823399132638567 < 40.01331293896502.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 42.32515116161978 (T) = (0 -28.31792866854682) / Math.Sqrt((3.8951810578905746 / (299)) + (3.4868175362272966 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.3644008672007988 = (44.55312665993368 - 28.31792866854682) / 44.55312665993368 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.EqualityOperatorBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 35.09430285017185 < 72.95869130134741.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 74.23526957358746 (T) = (0 -34.53831307177988) / Math.Sqrt((15.282537823656124 / (299)) + (7.816160186616322 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.560386228973368 = (78.56513000291689 - 34.53831307177988) / 78.56513000291689 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.MultiplyByScalarBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 25.244413232141792 < 42.323165604752866.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 74.8130576781475 (T) = (0 -24.589106104850984) / Math.Sqrt((5.409192557336658 / (299)) + (1.9914876553289838 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.4835303770993447 = (47.609975523344154 - 24.589106104850984) / 47.609975523344154 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.AddBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 40.10673300610196 < 79.50588415399434.
IsChangePoint: Marked as a change because one of 1/5/2023 9:29:47 PM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 55.81466580136762 (T) = (0 -38.659801454556536) / Math.Sqrt((67.50935258836047 / (299)) + (10.467976196199727 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.5336853349124857 = (82.9049660003748 - 38.659801454556536) / 82.9049660003748 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.DivisionOperatorBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 102.33145082488181 < 121.21611797512757.
IsChangePoint: Marked as a change because one of 11/22/2022 11:24:47 AM, 12/1/2022 11:48:13 PM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 28.20399328310733 (T) = (0 -95.11705539978418) / Math.Sqrt((26.964019778423914 / (299)) + (46.92453347455317 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.28986431817622493 = (133.94208717340317 - 95.11705539978418) / 133.94208717340317 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.CreateFromVector3WithScalarBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 21.123688729608347 < 29.315841728865593.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 43.46218758116294 (T) = (0 -18.671746993673164) / Math.Sqrt((3.7733710667946707 / (299)) + (2.234359633882122 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.4222165187324789 = (32.31616617476107 - 18.671746993673164) / 32.31616617476107 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.SubtractBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 35.92044793266175 < 81.66751896367578.
IsChangePoint: Marked as a change because one of 1/5/2023 9:29:47 PM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 62.22353014777811 (T) = (0 -35.28187906939035) / Math.Sqrt((63.592597058296995 / (299)) + (9.944333250397385 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.5763726120213216 = (83.28517010606058 - 35.28187906939035) / 83.28517010606058 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.AddOperatorBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 41.403370059179366 < 82.27519570778342.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 86.87729458989352 (T) = (0 -37.918544529761924) / Math.Sqrt((16.400038269081033 / (299)) + (6.625076423327525 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.5604322885666089 = (86.26326170799246 - 37.918544529761924) / 86.26326170799246 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.EqualsBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 79.29875906675282 < 103.40908545924087.
IsChangePoint: Marked as a change because one of 12/1/2022 11:48:13 PM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 52.26988448076246 (T) = (0 -82.36056460801807) / Math.Sqrt((34.5264195117903 / (299)) + (6.026698214694137 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.27219507411423777 = (113.16296672186243 - 82.36056460801807) / 113.16296672186243 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.MultiplyByQuaternionBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 73.11381997649086 < 101.88235324421932.
IsChangePoint: Marked as a change because one of 1/5/2023 9:29:47 PM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 43.43714317202802 (T) = (0 -71.0371940663425) / Math.Sqrt((59.27334077825685 / (299)) + (12.650172391591118 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.33599021968645626 = (106.98215022194238 - 71.0371940663425) / 106.98215022194238 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.LengthBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 27.844876443164573 < 60.126426841478114.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 127.79356368485075 (T) = (0 -26.354930954352728) / Math.Sqrt((4.787082431701056 / (299)) + (1.8039910610627918 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.5862597207893343 = (63.69921489063792 - 26.354930954352728) / 63.69921489063792 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.MultiplyByScalarOperatorBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 24.823365492989193 < 41.29091655727208.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 81.08074599214908 (T) = (0 -23.968539806518777) / Math.Sqrt((5.785771030871182 / (299)) + (1.3146405401524817 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.4721426663302257 = (45.40723085134479 - 23.968539806518777) / 45.40723085134479 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.NegateBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 28.237138372041237 < 40.278718153828606.
IsChangePoint: Marked as a change because one of 12/2/2022 5:21:30 AM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 29.788891869801613 (T) = (0 -28.263627373259506) / Math.Sqrt((5.899373700468514 / (299)) + (8.598306474756317 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.3842066272197989 = (45.897907679087375 - 28.263627373259506) / 45.897907679087375 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.ConcatenateBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 73.17762279779735 < 101.95146195858932.
IsChangePoint: Marked as a change because one of 11/22/2022 11:24:47 AM, 12/1/2022 11:48:13 PM, 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 55.569919608420285 (T) = (0 -71.136308429717) / Math.Sqrt((18.40162269719995 / (299)) + (11.529184187777789 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.35696074558968166 = (110.62514137640107 - 71.136308429717) / 110.62514137640107 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Quaternion.LerpBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 134.75412787322924 < 138.2856745975656.
IsChangePoint: Marked as a change because one of 11/22/2022 11:24:47 AM, 1/21/2023 8:50:04 PM, 2/2/2023 8:18:56 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 12.101418174484202 (T) = (0 -131.48161716598702) / Math.Sqrt((38.72561062636646 / (299)) + (22.547680674507856 / (25))) is greater than 1.9673585853226652 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (25) - 2, .975) and 0.08548334974054542 = (143.77170402385215 - 131.48161716598702) / 143.77170402385215 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

### Run Information
Architecture x64
OS ubuntu 18.04
Baseline 2ba2396495c22429035d165e478672c442f81e22
Compare 6aa9f8b5a5d7ea4d79715f0b16f2a5b0ab6ac48d
Diff Diff

Improvements in System.Numerics.Tests.Perf_Vector4

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
UnitYBenchmark - Duration of single invocation 18.76 ns 11.87 ns 0.63 0.32 False
TransformByQuaternionBenchmark - Duration of single invocation 101.40 ns 86.69 ns 0.85 0.22 False
UnitZBenchmark - Duration of single invocation 17.66 ns 12.44 ns 0.70 0.38 False
UnitWBenchmark - Duration of single invocation 17.45 ns 11.99 ns 0.69 0.38 False
UnitXBenchmark - Duration of single invocation 18.94 ns 12.02 ns 0.63 0.29 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_Vector4*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_Vector4.UnitYBenchmark


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 11.870161943394013 < 16.573145137180955.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 35.66526170848615 (T) = (0 -11.194626138234339) / Math.Sqrt((2.12383977735746 / (299)) + (0.7430629736455855 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.37570838532864587 = (17.931725935687165 - 11.194626138234339) / 17.931725935687165 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Vector4.TransformByQuaternionBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 86.69190926934 < 88.44810998705896.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 9.358853251417859 (T) = (0 -81.70434196793781) / Math.Sqrt((11.686311480984859 / (299)) + (40.368696378730924 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.12626716384504727 = (93.51181343658223 - 81.70434196793781) / 93.51181343658223 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Vector4.UnitZBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 12.436750441591734 < 16.75680387277493.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 35.069728267365804 (T) = (0 -10.964847632263076) / Math.Sqrt((1.3450066762394655 / (299)) + (0.9151483234631529 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.3892171621449077 = (17.952121364065697 - 10.964847632263076) / 17.952121364065697 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Vector4.UnitWBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 11.993817375351144 < 16.9344126388127.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 34.09573296432613 (T) = (0 -11.112800804375109) / Math.Sqrt((1.2656531643914153 / (299)) + (0.9193322125636091 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.3790715276590381 = (17.897070756763252 - 11.112800804375109) / 17.897070756763252 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_Vector4.UnitXBenchmark

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 12.016646395759258 < 17.066888280436384.
IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM.
IsImprovementStdDev: Marked as improvement because 15.116568330865327 (T) = (0 -11.270339982139188) / Math.Sqrt((1.3891558089772493 / (299)) + (4.677366852802251 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.3655594164710136 = (17.76421665753081 - 11.270339982139188) / 17.76421665753081 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

@performanceautofiler performanceautofiler bot added Improvement PGO Applied if there were any profile guided optimization updates in the observed interval. untriaged labels Feb 7, 2023
@kotlarmilos
Copy link
Member

It could be dotnet/runtime#81335

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-x64 branch-refs/heads/main kind-micro_mono mono-interpreter os-linux perf-improvement PGO Applied if there were any profile guided optimization updates in the observed interval. runtime-mono
Projects
None yet
Development

No branches or pull requests

1 participant