Skip to content

[Perf] Windows/x64: 1 Improvement on 11/23/2022 11:56:05 PM #10131

@performanceautofiler

Description

@performanceautofiler

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 4e8e5e560c41b3b7bd7f91ce907ecc49aa0975a8
Compare 8606a915f57d6e1d68b7e2c0fe788bc4180eed01
Diff Diff

Improvements in System.Text.Perf_Utf8Encoding

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetByteCount - Duration of single invocation 10.71 μs 10.12 μs 0.94 0.04 False Trace Trace

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Perf_Utf8Encoding*'
Details

Payloads

Baseline
Compare

Histogram

System.Text.Perf_Utf8Encoding.GetByteCount(Input: EnglishAllAscii)


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.117283566907776 < 10.32972078030438.
IsChangePoint: Marked as a change because one of 11/23/2022 8:02:34 PM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsImprovementStdDev: Marked as improvement because 32.376310932869394 (T) = (0 -10135.51867289995) / Math.Sqrt((28572.335514910752 / (299)) + (8503.476047626482 / (21))) is greater than 1.967451947860886 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (21) - 2, .975) and 0.0666961660880475 = (10859.827533780528 - 10135.51867289995) / 10859.827533780528 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```### Baseline Jit Disasm

```assembly
; System.Text.Perf_Utf8Encoding.GetByteCount()
       mov       rdx,rcx
       mov       rcx,[rdx+28]
       mov       rdx,[rdx+18]
       mov       rax,[rcx]
       mov       rax,[rax+50]
       jmp       qword ptr [rax+18]
; Total bytes of code 22

Compare Jit Disasm

; System.Text.Perf_Utf8Encoding.GetByteCount()
       mov       rdx,rcx
       mov       rcx,[rdx+28]
       mov       rdx,[rdx+18]
       mov       rax,[rcx]
       mov       rax,[rax+50]
       jmp       qword ptr [rax+18]
; Total bytes of code 22

Docs

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

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions