-
-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix blocking I/O to load python code when the network location contains non-ascii characters #1342
Conversation
CodSpeed Performance ReportMerging #1342 will improve performances by ×2.2Comparing Summary
Benchmarks breakdown
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1342 +/- ##
==========================================
+ Coverage 96.09% 96.13% +0.04%
==========================================
Files 27 27
Lines 5483 5541 +58
Branches 336 358 +22
==========================================
+ Hits 5269 5327 +58
Misses 188 188
Partials 26 26
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
for more information, see https://pre-commit.ci
urlsplit
to address performance issues
urlsplit
to address performance issuesurlsplit
to address performance issues
This is a performance improvement and a bugfix but there is no way to separate so bugfix wins for the changelog messages |
urlsplit
to address performance issues
urlsplit
is not async safe since it can importunicodedata
at runtime which does blocking I/O to load python code from disk. This PR replaces it with a new version that is functionality compatible but rewritten a bit to have better performance and avoid run time importsTo improve performance #190 (comment) suggested cythonizing it but I think thats a lot more to maintain, and the performance issues can likely be solved in python.
Long term this also means we don't have to use
SplitResult
internally anymore and can fix issues whereurlsplit
doesn't work as we expected and have been sitting in the issue queue for years in future PRs