Closed
Description
Run Information
Architecture | x64 |
---|---|
OS | Windows 10.0.18362 |
Baseline | 2e77a42d4563246f2362a498ca5906fdbd9274db |
Compare | 19fc478d67c2fc55e62b50676935f903a77f5a4d |
Diff | Diff |
Regressions in System.Text.Perf_Utf8Encoding
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
GetBytes - Duration of single invocation | 127.23 μs | 144.95 μs | 1.14 | 0.02 | False | 1436061.9469026548 | 1488636.3636363635 | 1.0366101315107632 | Trace | Trace |
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Perf_Utf8Encoding*'
Payloads
Histogram
System.Text.Perf_Utf8Encoding.GetBytes(Input: Chinese)
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 144.952449845679 > 133.54047838618894.
IsChangePoint: Marked as a change because one of 12/21/2022 9:23:17 AM, 1/17/2023 8:36:05 PM, 1/24/2023 6:33:57 AM falls between 1/15/2023 4:08:29 PM and 1/24/2023 6:33:57 AM.
IsRegressionStdDev: Marked as regression because -35.687283578257905 (T) = (0 -147617.61720326805) / Math.Sqrt((5647909.848760539 / (30)) + (2989695.2155531375 / (38))) is less than -1.9965644189515832 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (30) + (38) - 2, .025) and -0.14273389516406024 = (129179.34597719695 - 147617.61720326805) / 129179.34597719695 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.
```### Baseline Jit Disasm
```assembly
; System.Text.Perf_Utf8Encoding.GetBytes()
mov rdx,rcx
mov rcx,[rdx+28]
mov rdx,[rdx+18]
mov rax,[rcx]
mov rax,[rax+58]
jmp qword ptr [rax+10]
; Total bytes of code 22
Compare Jit Disasm
; System.Text.Perf_Utf8Encoding.GetBytes()
mov rdx,rcx
mov rcx,[rdx+28]
mov rdx,[rdx+18]
mov rax,[rcx]
mov rax,[rax+58]
jmp qword ptr [rax+10]
; Total bytes of code 22
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment