Initial prompt to vibe subint support Bo
parent
5c98ab1fb6
commit
de78a6445b
|
|
@ -0,0 +1,34 @@
|
||||||
|
This is your first big boi, "from GH issue" design, plan and
|
||||||
|
implement task.
|
||||||
|
|
||||||
|
We need to try and add sub-interpreter (aka subint) support per the
|
||||||
|
issue,
|
||||||
|
|
||||||
|
https://github.com/goodboy/tractor/issues/379
|
||||||
|
|
||||||
|
Part of this work should include,
|
||||||
|
|
||||||
|
- modularizing and thus better origing the `.spawn.*` subpkg by
|
||||||
|
breaking up various backends currently in `spawn._spawn` in to
|
||||||
|
separate submods where it makes sense.
|
||||||
|
|
||||||
|
- add a new `._subint` backend which tries to keep as much of the
|
||||||
|
inter-process-isolation machinery in use as possible but with plans
|
||||||
|
to optimize for localhost only benefits as offered by python's
|
||||||
|
subints where possible.
|
||||||
|
|
||||||
|
* utilizing localhost-only tpts like UDS, shm-buffers for
|
||||||
|
performant IPC between subactors but also leveraging the benefits from
|
||||||
|
the traditional OS subprocs mem/storage-domain isolation, linux
|
||||||
|
namespaces where possible and as available/permitted by whatever
|
||||||
|
is happening under the hood with how cpython implements subints.
|
||||||
|
|
||||||
|
* default configuration should encourage state isolation as with
|
||||||
|
with subprocs, but explicit public escape hatches to enable rigorously
|
||||||
|
managed shm channels for high performance apps.
|
||||||
|
|
||||||
|
- all tests should be (able to be) paramatrized to use the new
|
||||||
|
`subints` backend and enabled by flag in the harness using the
|
||||||
|
existing `pytest --spawn-backend <spawn-backend>` support offered in
|
||||||
|
the `open_root_actor()` and `.testing._pytest` harness override
|
||||||
|
fixture.
|
||||||
Loading…
Reference in New Issue