You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sources, requirements, and dists are currently computed per-root-Python-target (e.g. python_tests). But this does not allow for reuse of any calculations involved in merging those items. For example, the build_local_dists@rule re-requests the transitive targets, computes provided wheels, and then subtracts sources from the transitive source set... and the subtraction and subsetting is not shared across consumers.
If we instead modeled the building of a Python execution context (PEX) as the merging of a data structure containing information about the sources/requirements/dists (similar to the merging of a classpath for compilation, and thus subject to the optimization in #13112), subgraphs of that data structure could be reused across consumers.
Implementing Python-execution-context-creation recursively would be particularly helpful for mypy, which could likely use its own caches if it was executed recursively.
The text was updated successfully, but these errors were encountered:
Sources, requirements, and dists are currently computed per-root-Python-target (e.g.
python_tests
). But this does not allow for reuse of any calculations involved in merging those items. For example, thebuild_local_dists
@rule
re-requests the transitive targets, computes provided wheels, and then subtracts sources from the transitive source set... and the subtraction and subsetting is not shared across consumers.If we instead modeled the building of a Python execution context (PEX) as the merging of a data structure containing information about the sources/requirements/dists (similar to the merging of a classpath for compilation, and thus subject to the optimization in #13112), subgraphs of that data structure could be reused across consumers.
Implementing Python-execution-context-creation recursively would be particularly helpful for mypy, which could likely use its own caches if it was executed recursively.
The text was updated successfully, but these errors were encountered: