-
Notifications
You must be signed in to change notification settings - Fork 4
Closed
Description
Run Information
| Architecture | x64 |
|---|---|
| OS | Windows 10.0.18362 |
| Baseline | edce5ea1600bf4c61f10bc9de80e4a11ff14c842 |
| Compare | 7908e8ef62c7d5ebdcd6459faccd755b9b10d369 |
| Diff | Diff |
Improvements in System.Net.NetworkInformation.Tests.PhysicalAddressTests
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| PALong - Duration of single invocation | 152.64 ns | 132.08 ns | 0.87 | 0.00 | False | 1352.4511059392967 | 1215.1915293868278 | 0.898510507367185) | 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.Net.NetworkInformation.Tests.PhysicalAddressTests*'Payloads
Histogram
System.Net.NetworkInformation.Tests.PhysicalAddressTests.PALong
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 132.0795000867905 < 144.6528985919467.
IsChangePoint: Marked as a change because one of 12/8/2022 9:11:55 AM, 1/11/2023 2:37:52 AM, 2/19/2023 8:14:07 AM, 2/21/2023 5:46:41 AM falls between 2/12/2023 2:35:10 PM and 2/21/2023 5:46:41 AM.
IsImprovementStdDev: Marked as improvement because 31.51019716202524 (T) = (0 -132.51766237590437) / Math.Sqrt((3.2164955671694067 / (299)) + (4.755084042775673 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.14222828960283065 = (154.4905955391621 - 132.51766237590437) / 154.4905955391621 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; System.Net.NetworkInformation.Tests.PhysicalAddressTests.PALong()
sub rsp,28
mov rcx,[rcx+10]
mov rax,[rcx]
mov rax,[rax+40]
call qword ptr [rax+8]
nop
add rsp,28
ret
; Total bytes of code 24
Compare Jit Disasm
; System.Net.NetworkInformation.Tests.PhysicalAddressTests.PALong()
sub rsp,28
mov rcx,[rcx+10]
mov rax,[rcx]
mov rax,[rax+40]
call qword ptr [rax+8]
nop
add rsp,28
ret
; Total bytes of code 24Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
| Architecture | x64 |
|---|---|
| OS | Windows 10.0.18362 |
| Baseline | edce5ea1600bf4c61f10bc9de80e4a11ff14c842 |
| Compare | 7908e8ef62c7d5ebdcd6459faccd755b9b10d369 |
| Diff | Diff |
Improvements in System.Perf_Convert
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| ToHexString - Duration of single invocation | 51.80 ns | 45.27 ns | 0.87 | 0.04 | False | 453.1672049082348 | 421.9440771222215 | 0.9311002044105643) | 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.Perf_Convert*'Payloads
Histogram
System.Perf_Convert.ToHexString
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 45.268412020603904 < 49.11453128396782.
IsChangePoint: Marked as a change because one of 12/8/2022 9:11:55 AM, 1/11/2023 2:37:52 AM, 2/19/2023 8:14:07 AM, 2/21/2023 5:46:41 AM falls between 2/12/2023 2:35:10 PM and 2/21/2023 5:46:41 AM.
IsImprovementStdDev: Marked as improvement because 23.8007879390308 (T) = (0 -46.38862200847876) / Math.Sqrt((3.0290609186149933 / (299)) + (0.6416452006605924 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.12269099963197333 = (52.87603568300219 - 46.38862200847876) / 52.87603568300219 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; System.Perf_Convert.ToHexString()
mov rcx,[rcx+18]
jmp qword ptr [7FFE4DFEB7B0]; System.Convert.ToHexString(Byte[])
; Total bytes of code 10
; System.Convert.ToHexString(Byte[])
sub rsp,38
xor eax,eax
mov [rsp+28],rax
test rcx,rcx
je short M01_L00
lea rax,[rcx+10]
mov ecx,[rcx+8]
mov [rsp+28],rax
mov [rsp+30],ecx
lea rcx,[rsp+28]
call qword ptr [7FFE4DFEB7E0]; System.Convert.ToHexString(System.ReadOnlySpan`1<Byte>)
nop
add rsp,38
ret
M01_L00:
mov ecx,1C6B
mov rdx,7FFE4DC04000
call CORINFO_HELP_STRCNS
mov rcx,rax
call qword ptr [7FFE4DEF5BA0]
int 3
; Total bytes of code 79Compare Jit Disasm
; System.Perf_Convert.ToHexString()
mov rcx,[rcx+18]
jmp qword ptr [7FFC3944B7B0]; System.Convert.ToHexString(Byte[])
; Total bytes of code 10; System.Convert.ToHexString(Byte[])
sub rsp,38
xor eax,eax
mov [rsp+28],rax
test rcx,rcx
je short M01_L00
lea rax,[rcx+10]
mov ecx,[rcx+8]
mov [rsp+28],rax
mov [rsp+30],ecx
lea rcx,[rsp+28]
call qword ptr [7FFC3944B7E0]; System.Convert.ToHexString(System.ReadOnlySpan`1<Byte>)
nop
add rsp,38
ret
M01_L00:
mov ecx,1C7F
mov rdx,7FFC39064000
call CORINFO_HELP_STRCNS
mov rcx,rax
call qword ptr [7FFC39357420]
int 3
; Total bytes of code 79Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

