Draft
Conversation
I made this thing after finding out how restrictive CPython's String API Was and knew that using and joining a list would be too heap expensive Not to mention reference counting. I'll be testing this in a bit to ensure it works.
for more information, see https://pre-commit.ci
CodSpeed Performance ReportMerging #1529 will degrade performances by 72.21%Comparing Summary
Benchmarks breakdown
|
Member
Author
|
how is that a regression do I stand corrected? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What do these changes do?
How do I keep finding things to optimize??? I got rid of the list in the unquoter and I replaced it with a custom unicode writer I wrote. I'm gonna allow anybody to use it as they wish since it's got a feature where it's able to dynamically handle unicode characters but now we can get rid of needing to join a bunch of python objects all at one time.
Are there changes in behavior for the user?
There's a new technique in the Unquoter that allocates the same amount of memory as the string it's taking in to be examined and decoded. This should be an optimization and not a performance bottleneck now.
Related issue number
Checklist