[PR #9204/34a626da backport][3.10] Significantly speed up filter_cookies #9243
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.
This is a backport of PR #9204 as merged into master (34a626d).
What do these changes do?
Significantly speed up filter_cookies by adding a cache for morsel construction. Previously every request had to create new Morsel objects. Its a common pattern to set a cookie once and read it many times. When testing with Home Assistant, the cache had nearly a 100% hit rate.
Benchmark #7790 (comment)
before
filter_domain: 6.765125583391637
after
filter_domain: 1.3521433752030134
Are there changes in behavior for the user?
no
Is it a substantial burden for the maintainers to support this?
no