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
Previously, the process_graph function would always process SCCs, fresh
and stale, as they were encountered.
This commit modifies this process so instead, we batch and defer
processing fresh SCCs until we encounter a stale SCCs. If we do not end
up encountering any stale SCCs at all, we throw away the queued fresh
SCCs without having to load any of the data files at all.
Since loading the data file of fresh SCCs does take a small amount of
time, this change will make mypy slightly faster, particularly in the
case where there are very few to no files to recheck, and the
corresponding SCCs occur early in the sorted list of SCCs.
As an example, when running mypy against itself with a fully warm cache,
the time it takes to finish typechecking is now approximately 0.3 to 0.4
seconds -- previously, it was 1.3 to 1.4.
0 commit comments