Skip to content

Conversation

neonene
Copy link
Contributor

@neonene neonene commented Apr 1, 2024

Allow sub-interpreters to access their C-API by calling PyCapsule_Import function every time. Performance could be recovered by client's local caching. The _zoneinfo extension could also improve a few C-API accesses, if necessary.

UPDATE: Tuned for a sub-interpreter: #117413 (comment)

cc @erlend-aasland @ericsnowcurrently

@ericsnowcurrently
Copy link
Member

I'm especially interested to know what @pganssle thinks.

@neonene
Copy link
Contributor Author

neonene commented Apr 10, 2024

#117498 is a demo version of _datetime isolated with this way, which I think does not conflict with long-term approaches.

cc @pganssle

@neonene
Copy link
Contributor Author

neonene commented May 1, 2024

I have made this the same as #118357 except that this PR caches capi-pointers in the global C array rather than PyInterpreterState. One subinterpreter can use the global variable for now, so PyCapsule_Import will be called when multiple subinterpreters use the _datetime module at the same time.

@neonene neonene closed this May 23, 2024
@neonene neonene deleted the capsule branch May 23, 2024 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants