Skip to content

Remove the "CFrame" struct as it is no longer needed for performance. #108035

Closed
@markshannon

Description

@markshannon

In 3.11 we added a "CFrame" struct that sits on the C stack. This struct held a pointer to the current frame, and a "use_tracing" field.
Since we needed to check this field on every bytecode dispatch, it was very hot and needed to be on the C stack for performance.

With PEP 669, that field is gone and there is no need for the "CFrame" any more. We should remove it and revert to the keeping a pointer to the current frame in the thread state.

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    performancePerformance or resource usage

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions