[BE]: Apply PERF401 autofixes from ruff (#140980)

* Automatically applies ruff rule 401. Turns loops into equivalent list comprehensions which are faster and do not leak the scope of the loop variables.
* list comprehensions not only often have better typing, but are 50+% faster than for loops on overhead. They also preserve length information etc and are better for the interpreter to optimize.
* Manually went back and made mypy happy after the change.
* Also fixed style lints in files covered by flake8 but not by pyfmt

Pull Request resolved: https://github.com/pytorch/pytorch/pull/140980
Approved by: https://github.com/justinchuby, https://github.com/malfet
This commit is contained in:
Aaron Gokaslan
2024-11-20 17:52:07 +00:00
committed by PyTorch MergeBot
parent 8d708090c0
commit 12e95aa4ee
133 changed files with 611 additions and 761 deletions

View File

@ -49,10 +49,7 @@ def optimize_for_mobile(
if all(hasattr(script_module, method) for method in bundled_inputs_attributes):
preserved_methods_str = list(set(preserved_methods_str + bundled_inputs_attributes))
non_exist_methods = []
for method in preserved_methods_str:
if not hasattr(script_module, method):
non_exist_methods.append(method)
non_exist_methods = [method for method in preserved_methods_str if not hasattr(script_module, method)]
if non_exist_methods:
raise AttributeError(
f"The following methods to preserve do not exist in script_module: {', '.join(non_exist_methods)}")