Closed
Description
This potentially affects tools like coverage.py. It also means anything using co_code
in CPython frequently is significantly slower. Note that pre-3.11, most code would assume this operation is O(1), so it's probably called more often than we expect.
We should lazily initialise a hidden _co_code
field and cache it there. Currently it creates a fresh bytes object on each co_code
access. This is at best O(n).
Metadata
Metadata
Assignees
Labels
only security fixesonly security fixes(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)Performance or resource usagePerformance or resource usage