Cache nonParameterCharacterSet to help minimize memory footprint in multithreaded apps using SOCKit. #26
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.
TLDR:
Purpose of this pull request is to minimize memory spikes in processes using SOCKin in parallel threads. Objective is achieved by caching nonParameterCharacterSet. Footprint of single nonParameterCharacterSet is slightly more than 32KB.
More info:
Facts
Details on actual usage
One of the iOS "today extensions" I'm working with has Reskit + SOCKit stack and is issuing a bunch of networking requests + CoreData object creation in parallel. Such parallel behavior leads to significant spike of memory usage with SOCKit pattern creation consuming a lot of memory during this short spike.
Having this patch helps minimize this spike during user interacting with extension and prolong life of the extension in memory.