Open
Description
- Starting from scratch, mypy takes ~7 mins for our project.
- If mypy is successful, then the subsequent run of mypy takes ~14s if the code is unchanged.
- Upon introducing an error, we're back to ~7 minutes
- Re-running takes ~7 minutes
- Reverting the error takes ~7 mins again.
It seems to me, then, that even though only one line of code is ever changed, the cache is only being used for two identical successful runs. Is this correct?
Example:
rm -rf .mypy_cache
# 1. start from scratch
time mypy .
>> 7:24.29 elapsed
# 2. unchanged after successful run
time mypy .
>> 0:14.58 elapsed
# 3. introduce error
time mypy .
>> 7:04:94 elapsed
# 4. repeat with error
time mypy .
>> 7:07:32 elapsed
# 5. revert to fix error
time mypy .
>> 7:09:09 elapsed