-
Notifications
You must be signed in to change notification settings - Fork 4
Closed
Description
Run Information
Architecture | x64 |
---|---|
OS | Windows 10.0.18362 |
Baseline | a0d28f4838a3075d3080c9ff5690e26969cbe67f |
Compare | 5ba867f3b9dc40e5195c3901d3bc901a014332d1 |
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 |
---|---|---|---|---|---|---|---|---|---|---|
DivideByScalarBenchmark - Duration of single invocation | 53.51 ns | 0.08 ns | 0.00 | 0.04 | False | 3.9713915394918784 | 4.862500505372243 | 1.2243820477077358) | Trace | Trace |
DivideByVector3Benchmark - Duration of single invocation | 53.53 ns | 0.08 ns | 0.00 | 0.15 | False | Trace | Trace | |||
DivideByScalarOperatorBenchmark - Duration of single invocation | 53.79 ns | 0.08 ns | 0.00 | 0.04 | False | 4.001087814551685 | 5.071011860924347 | 1.267408288936179) | Trace | Trace |
DivideByVector3OperatorBenchmark - Duration of single invocation | 53.77 ns | 0.08 ns | 0.00 | 0.16 | False | 4.03326783787949 | 4.94636925959701 | 1.2263924585275219) | Trace | Trace |
ReflectBenchmark - Duration of single invocation | 47.24 ns | 1.18 ns | 0.03 | 0.21 | False | Trace | Trace |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Vector3*'
Payloads
Histogram
System.Numerics.Tests.Perf_Vector3.DivideByScalarBenchmark
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 0.077958062529037 < 50.835911824589466.
IsChangePoint: Marked as a change because one of 2/11/2023 5:46:38 PM, 2/21/2023 5:46:41 AM, 2/28/2023 3:04:58 AM falls between 2/19/2023 10:06:54 AM and 2/28/2023 3:04:58 AM.
IsImprovementStdDev: Marked as improvement because 8.255472256977017 (T) = (0 -0.07818490055249809) / Math.Sqrt((415.75911171920194 / (299)) + (6.958793934331625E-07 / (21))) is greater than 1.967451947860886 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (21) - 2, .975) and 0.9920325091903491 = (9.81298911042287 - 0.07818490055249809) / 9.81298911042287 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; System.Numerics.Tests.Perf_Vector3.DivideByScalarBenchmark()
vzeroupper
vmovups xmm0,[7FFCCEB65690]
vmovups xmm1,[7FFCCEB656A0]
vdivps xmm0,xmm0,xmm1
vmovsd qword ptr [rdx],xmm0
vextractps dword ptr [rdx+8],xmm0,2
mov rax,rdx
ret
; Total bytes of code 38
Compare Jit Disasm
; System.Numerics.Tests.Perf_Vector3.DivideByScalarBenchmark()
vzeroupper
vmovups xmm0,[7FFDC4840990]
vmovsd qword ptr [rdx],xmm0
vextractps dword ptr [rdx+8],xmm0,2
mov rax,rdx
ret
; Total bytes of code 26
System.Numerics.Tests.Perf_Vector3.DivideByVector3Benchmark
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 0.07789294182326499 < 51.04123804032205.
IsChangePoint: Marked as a change because one of 2/11/2023 5:46:38 PM, 2/21/2023 5:46:41 AM, 2/28/2023 3:04:58 AM falls between 2/19/2023 10:06:54 AM and 2/28/2023 3:04:58 AM.
IsImprovementStdDev: Marked as improvement because 8.359190691150527 (T) = (0 -0.0780374678697908) / Math.Sqrt((413.80000020909256 / (299)) + (2.671857254125444E-08 / (21))) is greater than 1.967451947860886 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (21) - 2, .975) and 0.9921268866070241 = (9.911894313552365 - 0.0780374678697908) / 9.911894313552365 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; System.Numerics.Tests.Perf_Vector3.DivideByVector3Benchmark()
vzeroupper
vmovups xmm0,[7FFC0F995690]
vmovups xmm1,[7FFC0F9956A0]
vdivps xmm0,xmm0,xmm1
vmovsd qword ptr [rdx],xmm0
vextractps dword ptr [rdx+8],xmm0,2
mov rax,rdx
ret
; Total bytes of code 38
Compare Jit Disasm
; System.Numerics.Tests.Perf_Vector3.DivideByVector3Benchmark()
vzeroupper
vmovups xmm0,[7FFA9C310990]
vmovsd qword ptr [rdx],xmm0
vextractps dword ptr [rdx+8],xmm0,2
mov rax,rdx
ret
; Total bytes of code 26
System.Numerics.Tests.Perf_Vector3.DivideByScalarOperatorBenchmark
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 0.07796367332531394 < 51.097950311603526.
IsChangePoint: Marked as a change because one of 2/11/2023 5:46:38 PM, 2/21/2023 5:46:41 AM, 2/28/2023 3:04:58 AM falls between 2/19/2023 10:06:54 AM and 2/28/2023 3:04:58 AM.
IsImprovementStdDev: Marked as improvement because 8.258165060075484 (T) = (0 -0.07800516557197923) / Math.Sqrt((416.03153408563287 / (299)) + (1.3165523726361413E-08 / (21))) is greater than 1.967451947860886 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (21) - 2, .975) and 0.9920558325889758 = (9.819174437805794 - 0.07800516557197923) / 9.819174437805794 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; System.Numerics.Tests.Perf_Vector3.DivideByScalarOperatorBenchmark()
vzeroupper
vmovups xmm0,[7FF89ED85690]
vmovups xmm1,[7FF89ED856A0]
vdivps xmm0,xmm0,xmm1
vmovsd qword ptr [rdx],xmm0
vextractps dword ptr [rdx+8],xmm0,2
mov rax,rdx
ret
; Total bytes of code 38
Compare Jit Disasm
; System.Numerics.Tests.Perf_Vector3.DivideByScalarOperatorBenchmark()
vzeroupper
vmovups xmm0,[7FFAA9BF0990]
vmovsd qword ptr [rdx],xmm0
vextractps dword ptr [rdx+8],xmm0,2
mov rax,rdx
ret
; Total bytes of code 26
System.Numerics.Tests.Perf_Vector3.DivideByVector3OperatorBenchmark
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 0.07824776275946067 < 50.90790650918967.
IsChangePoint: Marked as a change because one of 2/11/2023 5:46:38 PM, 2/21/2023 5:46:41 AM, 2/28/2023 3:04:58 AM falls between 2/19/2023 10:06:54 AM and 2/28/2023 3:04:58 AM.
IsImprovementStdDev: Marked as improvement because 8.28675857534997 (T) = (0 -0.10583650496233996) / Math.Sqrt((413.6811905153131 / (299)) + (0.016280669481402058 / (21))) is greater than 1.967451947860886 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (21) - 2, .975) and 0.9892615158460292 = (9.855814232701062 - 0.10583650496233996) / 9.855814232701062 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; System.Numerics.Tests.Perf_Vector3.DivideByVector3OperatorBenchmark()
vzeroupper
vmovups xmm0,[7FFCE8D25690]
vmovups xmm1,[7FFCE8D256A0]
vdivps xmm0,xmm0,xmm1
vmovsd qword ptr [rdx],xmm0
vextractps dword ptr [rdx+8],xmm0,2
mov rax,rdx
ret
; Total bytes of code 38
Compare Jit Disasm
; System.Numerics.Tests.Perf_Vector3.DivideByVector3OperatorBenchmark()
vzeroupper
vmovups xmm0,[7FFED3A30990]
vmovsd qword ptr [rdx],xmm0
vextractps dword ptr [rdx+8],xmm0,2
mov rax,rdx
ret
; Total bytes of code 26
System.Numerics.Tests.Perf_Vector3.ReflectBenchmark
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 1.1825773123788204 < 44.87615574852212.
IsChangePoint: Marked as a change because one of 2/11/2023 5:46:38 PM, 2/24/2023 9:01:57 AM, 2/28/2023 3:04:58 AM falls between 2/19/2023 10:06:54 AM and 2/28/2023 3:04:58 AM.
IsImprovementStdDev: Marked as improvement because 8.514244280818355 (T) = (0 -0.8652575537673668) / Math.Sqrt((339.7423336110521 / (299)) + (0.03517959893535087 / (16))) is greater than 1.9675720194858106 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (16) - 2, .975) and 0.9130380725546209 = (9.9498433301267 - 0.8652575537673668) / 9.9498433301267 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; System.Numerics.Tests.Perf_Vector3.ReflectBenchmark()
vzeroupper
vmovups xmm0,[7FF7ED6256A0]
vmovups xmm1,[7FF7ED6256B0]
vdpps xmm2,xmm0,xmm1,7F
vmulps xmm1,xmm2,xmm1
vmovups xmm2,[7FF7ED6256C0]
vmulps xmm1,xmm1,xmm2
vsubps xmm0,xmm0,xmm1
vmovsd qword ptr [rdx],xmm0
vextractps dword ptr [rdx+8],xmm0,2
mov rax,rdx
ret
; Total bytes of code 60
Compare Jit Disasm
; System.Numerics.Tests.Perf_Vector3.ReflectBenchmark()
vzeroupper
vmovups xmm0,[7FFA9C7C09B0]
vmovups xmm1,[7FFA9C7C09C0]
vdpps xmm2,xmm0,xmm1,7F
vmulps xmm1,xmm2,xmm1
vmovups xmm2,[7FFA9C7C09D0]
vmulps xmm1,xmm1,xmm2
vsubps xmm0,xmm0,xmm1
vmovsd qword ptr [rdx],xmm0
vextractps dword ptr [rdx+8],xmm0,2
mov rax,rdx
ret
; Total bytes of code 60
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository