Closed bhnaphade closed 7 months ago
Attention: 6 lines
in your changes are missing coverage. Please review.
Comparison is base (
61edad9
) 53.96% compared to head (f697283
) 53.97%. Report is 2 commits behind head on master.
Files | Patch % | Lines |
---|---|---|
Stack/Opc.Ua.Core/Types/Encoders/JsonEncoder.cs | 82.35% | 5 Missing and 1 partial :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
please check there is one caveat
addressed the issue
Proposed changes
Update the function to improve performance. Fix test code warnings (CA1305) related to ToString() method
Based on the results of the benchmark runs,
EscapeStringLegacyPlus
was picked for all platforms that do not supportStreamWriter.Write(ReadOnlySpan<char>)
, e.g. .NET Framework. There is a slight improvement for the cases which require a 4 digit hex encoding. For platforms that support Span end to endEscapeStringSpanCharsInline
was picked. The functions tries to optimize how often the underlying StreamWriter is called by combining calls to Write into to slices. It was also noted that up to three character strings, it performs better to do single character writes than calling with a small string.Below the result of the benchmark runs:
Related Issues
Types of changes
What types of changes does your code introduce? Put an
x
in the boxes that apply. You can also fill these out after creating the PR.Checklist
Put an
x
in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...