Skip to content

Conversation

@neonene
Copy link
Contributor

@neoneneneonene 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
ContributorAuthor

#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
ContributorAuthor

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.

@neoneneneonene closed this May 23, 2024
@neoneneneonene deleted the capsule branch May 23, 2024 14:02
Sign up for freeto 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

@neonene@ericsnowcurrently@Eclips4