Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
/claim #2573
I know the issue was only for fixing the encoding performance, but as a welcoming side-effect these changes also improve the overall performance of the RichTextCodec. Also, the rendering of the content-type header is now cached (in a lazy val), so users that reuse the same instance of a
ContentType
will not incur any runtime overhead for encoding it on repeated requests.Breaking(?) changes:
sealed abstract class
instead of asealed trait
. This improved performance marginally although I'm happy to revert it if you prefer to have it as a sealed trait instead.Benchmark results
Summary
Parsing:
Encoding:
JMH results (click to expand)
main branch:
PR: