-
-
Notifications
You must be signed in to change notification settings - Fork 170
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
Support the free-threaded build of CPython 3.13 #1456
base: master
Are you sure you want to change the base?
Conversation
for more information, see https://pre-commit.ci
CodSpeed Performance ReportMerging #1456 will not alter performanceComparing Summary
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1456 +/- ##
==========================================
- Coverage 95.57% 95.49% -0.09%
==========================================
Files 33 33
Lines 6010 6032 +22
Branches 364 364
==========================================
+ Hits 5744 5760 +16
- Misses 240 246 +6
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. |
78f84fd
to
1c857ca
Compare
9bfa0d3
to
44ee894
Compare
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
for more information, see https://pre-commit.ci
FTR the CI is failing due to actions/setup-python#1034 and the following fix will need to be implemented here: aio-libs/frozenlist#622 + aio-libs/frozenlist#633. |
Yes. |
The old code referenced the result of importorskip() instead of importing the module, no type checker is going to know what that is. If you wanted to use both, you could use importorskip for the runtime behaviour, then use |
i.e.
|
Thanks for the pointer. Do you feel that this is a better approach than the one currently implemented? The current one does both in a single try/except, so it feels a bit clener to me. |
I don't mind either way. @webknjaz? |
4c8fe2f
to
3527edc
Compare
One alternative to this would be to use |
I'm still looking into the uv integration, I'm not sure it's ready for prime time just yet. I'll be looking into that separately. But feel free to send a PR with the caching fix separately. |
The performance regression in the writer looks real. I can't come up with a better solution though that is thread-safe. |
We could try to make it so that the global buffer is used in the non-free-threaded build, but not in the free-threaded one. Cython, however, makes that particularly hard. There's two possible solutions:
Both of the solutions are sub-optimal. Thoughts? |
The |
Are there any plans to expose Py_GIL_DISABLED in Cython? If so, might make more sense to come back and fix it when that happens. If we do want to write it without Cython, should we consider Rust instead of C? |
Co-authored-by: J. Nick Koston <[email protected]>
What do these changes do?
Are there changes in behavior for the user?
No.
Related issue number
Resolves #1455
Checklist