-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
build(python): Support Python 3.12 #12094
Conversation
74ca0e0
to
964a232
Compare
@MarcoGorelli @alexander-beedie any idea why the bytecode parser used for the inefficient apply warning fails a bunch of tests on Python 3.12? |
Probably some new/reworked opcode specializations in 3.12 as part of the "faster cpython" initiative; I can take a look and account for them 👍 |
e46539b
to
dbc6165
Compare
dbc6165
to
595c0cb
Compare
ecb7d57
to
17f89fa
Compare
@alexander-beedie Only bytecode parser failing on Python 3.12 now... all yours! |
Done! #12348 ✌️😎 |
17f89fa
to
337bb55
Compare
@alexander-beedie I am consistently getting an import time regression on ubuntu / Python 3.12 😕 Any idea what could have triggered this? Here's the timings: |
337bb55
to
98f3fa5
Compare
Hmm... will try to take a look tomorrow 👌 |
And by "tomorrow" I apparently mean two days later 😅 But... I think I have an explanation and will be pushing an update shortly! The good news is that imports have not become meaningfully slower; it appears to be an import-test artefact that I can address to get more consistent/reliable results. |
98f3fa5
to
4042f69
Compare
@alexander-beedie The test still fails even with your latest update 😞 |
Maddening... that test is absolutely rock-solid for me now. I'll instrument it some more, but maybe we'll need to adjust the import timing threshold on a per-architecture basis, hmm. Will look at the test runner logs for clues 🤔 From my home machine (an admittedly fast M2 Max) -
Note that those are debug build timings; I see release build timings as low as 28,171μs 🚀 (< 0.03 secs) |
Instrumented a little and increased the number of allowed tries from three to ten 👀 Results are clear enough; the test now looks pretty stable, but import timings on the 3.12 CI (hardware?) really ARE consistently slow...
Will switch to 3.12 locally and see if there's a drop-off (my own timings were 3.11 on Mac - can also try 3.12 on my NAS/Ubuntu box and see how that looks 💭) |
It has to be related to Python 3.12, possibly in combination with the CI runners. After all, the Python 3.8 Ubuntu run passes, as well as the Python 3.12 Windows run 🤔 |
Might have a lead; apparently the performance of |
9b56ee2
to
b1c04c1
Compare
Yup, looks like that's it; was finally able to replicate the slow import timings under Looks related to these issues: python/cpython#107841 and nedbat/coveragepy#1665. |
f97a353
to
2e3d91e
Compare
2e3d91e
to
3b22511
Compare
Closes #11348
Changes