mypy
mypy copied to clipboard
Mypy hangs indefinitely trying to analyse a file with huge nested dicts
Bug Report
Mypy hangs indefinitely when trying to analyse a file with huge nested dicts.
To Reproduce
- Copy and paste the contents of this file into a
.pyfile: repro.txt - Run mypy on the file
- Wait
Comments
This is similar to #14636. However, the dicts aren't nearly as deeply nested as in #14636, they're just very, very big.
The dicts are so huge because this is a partially generated file, the result of a codemod by stubdefaulter. Mypy is far from the only tool to have difficulty with this file: it also made black and flake8 hang, and crashed IDLE. Pyright did manage to analyse the file, but also took a lot longer than usual.
Your Environment
- Mypy version used: 1.1.1; also
masterbranch @ 2e75cbaa8e5c0fb8aa3548d5c7c8ccfd00131057 - Mypy command-line flags: none
- Mypy configuration options from
mypy.ini(and other config files): none - Python version used: 3.11.2
We are facing this exact issue for a ~10k lines dictionary we codegen. Pyright and other tools don't have issues.
+1 seeing most performance hits come from deeply nested dictionaries.
Mypy compiled on current master type-checks the original 15MB file in under 10 sec. I don't think we need to keep this open.
Nice!