Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.11] GH-93516: Backport GH-93769: Store offset of first traceable instruction in code object #93818

Closed
wants to merge 1 commit into from

Conversation

markshannon
Copy link
Member

No description provided.

@markshannon
Copy link
Member Author

markshannon commented Jun 14, 2022

The ABI check fails, due to adding the _co_firsttraceable field.
I've added it near the end, so that code that accesses fields other that co_extra and co_code_adaptive will not be effected.

@nedbat
Copy link
Member

nedbat commented Jun 15, 2022

I tried this compared to 3.11.0b3, and this code is slightly slower?

cov proj python3.11 gh93818 93818 vs 3.11
6.4.1 bug1339.py 0.846 s 0.856 s 101.20%
6.4.1 bm_sudoku.py 55.436 s 57.561 s 103.83%
6.4.1 bm_spectral_norm.py 66.488 s 68.803 s 103.48%

@markshannon
Copy link
Member Author

Odd.
I wouldn't expect this to have much effect compared to removing the overhead of line number lookup, or caching the result of PyCode_GetCode(), but I would expect it to be positive.

Let's remeasure after those are merged.

)

* Use a lookup table to reduce overhead of getting line numbers during tracing.
@pablogsal
Copy link
Member

I'm regenerating the ABI in this PR

@pablogsal
Copy link
Member

@markshannon I cannot push to the remote repo, could you please ensure the "allow pushes from maintainers checkbox is activated on the right column"?

@markshannon
Copy link
Member Author

Closing this until I've had time to investigate the slowdown once #94127 is merged.

@markshannon markshannon deleted the backport-93516 branch September 26, 2023 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants