PyCode_GetCode could be faster · Issue #93382 · python/cpython (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

@Fidget-Spinner

Description

@Fidget-Spinner

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).