-
Notifications
You must be signed in to change notification settings - Fork 1.1k
DNM: enable the experimental JIT in 3.13+ #1043
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
Conversation
tianon
commented
May 22, 2025
Oof, there's a lot to unpack with this one.
- https://docs.python.org/3.13/whatsnew/3.13.html#an-experimental-just-in-time-jit-compiler mentions
--experimental-jit-interpreterbut it's actually--enable-experimental-jitas noted further down - https://github.com/python/cpython/blob/3.13/Tools/jit/README.md has several other requirements, notably Python 3.11+ and LLVM version 18 (specifically and only 18: https://github.com/python/cpython/blob/3.13/Tools/jit/_llvm.py#L11)
That is going to be really limiting in our ability to enable this (for example, LLVM 18 isn't even available in Debian stable - it's currently in testing, but I don't know if it'll survive to release of trixie).
tianon
commented
May 22, 2025
(and to head it off: compiling LLVM from source is very much out-of-the-question unless/until upstream decides this feature is part of a standard recommended install and should be enabled for ~everyone)
tianon
commented
May 22, 2025
Rebased on #1042, applied more hacks; at least the slim-trixie builds here should succeed.
tianon
commented
May 22, 2025
(unsurprisingly, it looks like Alpine is unsupported: build.py: error: argument target: invalid get_target value: 'x86_64-pc-linux-musl')
tianon
commented
Jun 27, 2025
In the spirit of https://bsky.app/profile/savannah.dev/post/3lskscidafk2e slash https://docs.python.org/3.14/whatsnew/3.14.html#binary-releases-for-the-experimental-just-in-time-compiler, I have updated this to use yes-off, which is clearly considered semi-officially OK for released binaries (as the Windows and macOS official releases are now built with it). Hopefully that's true of 3.13 as well. 🙈
We do still need to resolve the LLVM version issue ... somehow.
(I really wish https://apt.llvm.org/ included releases, not just nightlies 😞)
b870527 to
1965dff
Compare
670b106 to
aae6959
Compare
Uh oh!
There was an error while loading. Please reload this page.
This is for testing, not for merging.
See:
Test it with something like:
$ docker build --pull https://github.com/docker-library/python.git#refs/pull/1043/merge:3.13/slim-trixie