pytorch
f0832914 - [Dynamo] Fix lineinfo generation on PY3.11+ (#103525)

Commit
1 year ago
[Dynamo] Fix lineinfo generation on PY3.11+ (#103525) - Replace `for inst in instructions[0:targe.offset//2]: inst.starts_line = None`, with the one that that iterates over all instructions until `inst.offset == target.offset` condition is met, this way making it uniform across Python bytecode dialects (Python-3.11+ bytecode size is variable, while bytecode size is fixed for older Pythons) - Speedup target_index search by replacing `[i for i in instructions if i.offset == offset][0]` with `next(i for i in instructions if i.offset == offset)`, which aborts the evaluation after condition met for the first time, according to: ```python In [1]: lst=list(range(10000)) In [2]: %time [i for i in lst if i == 10] CPU times: user 144 µs, sys: 23 µs, total: 167 µs Wall time: 168 µs Out[2]: [10] In [3]: %time next(i for i in lst if i == 10) CPU times: user 6 µs, sys: 0 ns, total: 6 µs Wall time: 9.06 µs Out[3]: 10 ``` - Fix small typo - use `is_py311_plus` variable rather than checking `sys.version_info` <!-- copilot:poem --> ### <samp>🤖 Generated by Copilot at 6cd7f27</samp> > _We fix the typos in our code of doom_ > _We remove the warnings that obscure our vision_ > _We refactor the `generate` function for the dynamo_ > _We resume the execution with precision_ Fixes https://github.com/pytorch/pytorch/issues/103355 Pull Request resolved: https://github.com/pytorch/pytorch/pull/103525 Approved by: https://github.com/Skylion007, https://github.com/williamwen42
Author
Committer
Parents
Loading