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
Prevent extensions from blocking parallel pre-compilation
Previously our precompilation code was causing any dependencies of a
package A to wait on all of A's weakdeps to finish pre-compiling,
even if it can't actually load those weakdeps (or the extension itself)
This would lead to a pre-compile ordering like:
```
A B
\ / \
Ext AB \
| /
C /
\ /
D
```
Here, extension `C` cannot pre-compile in parallel with `Ext {A,B}` and
`B`, because it has to wait for `Ext {A,B}` to finish pre-compiling.
That happens even though `C` has no way to load either of these.
This change updates the pre-compile ordering to be more parallel,
reflecting the true place where `Ext {A,B}` can be loaded:
```
A B
/ \ / \
C Ext AB |
\ | /
\-- D --/
```
which allows `C` to compile in parallel with `B` and `Ext{A,B}`
0 commit comments