mypy
74cfa3d4 - [mypyc] Borrow references during chained attribute access (#12805)

Commit
4 years ago
[mypyc] Borrow references during chained attribute access (#12805) If we have multiple native attribute access operations in succession, we can borrow the temporaries. This avoids an incref and decref. For example, when evaluating x.y.z, we don't need to incref the result of x.y. We need to make sure that the objects from which we borrow values are not freed too early by adding keep_alive ops. This is part of a wider reference counting optimization workstream. All the improvements together produced around 5% performance improvement in the richards benchmark. In carefully constructed microbenchmarks 50+% improvements are possible.
Author
Parents
Loading