Add concurrent.futures.InterpreterPoolExecutor #124694
Labels
3.14
new features, bugs and security fixes
stdlib
Python modules in the Lib dir
topic-subinterpreters
type-feature
A feature request or enhancement
Feature or enhancement
Proposal:
While we wait on PEP 734, there's nothing blocking us from adding a new executor for multiple interpreters. Doing so would allow people to start trying them out. (I wish I had thought of this for 3.13!)
My planned design:
ThreadPoolExecutor
submit()
ormap()
will be pickled (same asProcessPoolExecutor
)submit()
arg can be a script instead of a callable (a script formap()
doesn't make sense since there are no args)__init__()
will take a new "shared" arg that corresponds to whatInterpreter.prepare_main()
takes in PEP 734, to allow each worker interpreter to share some dataIn the future we could support a more efficient "sharing" scheme than pickle. When (or if) PEP 734 is accepted, we can refactor the executor to use the
interpreters
module rather than using_interpreters
directly.Open questions:
ProcessPoolExecutor
)?CC @brianquinlan
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response
Linked PRs
The text was updated successfully, but these errors were encountered: