Python 3.14's experimental JIT made none of my five benchmarks faster
I ran five small pure-Python benchmarks on the CPython 3.14.8 build that ships an experimental JIT, with PYTHON_JIT=0 and PYTHON_JIT=1, alternating five times each and taking the median. Every ratio landed between 0.92 and 1.02. That is noise, with a hint that the JIT is slightly slower on short runs.
The test
Apple-silicon host, a Clang build where sys._jit.is_available() is true. Each benchmark runs seven times inside a process and I keep the third-fastest, so warm-up counts but one bad run doesn't. The box had a few other jobs running, so I'd call anything within 5% a tie.
| benchmark | JIT off (ms) | JIT on (ms) | off / on |
|---|---|---|---|
| float list update loop | 43.7 | 46.1 | 0.95 |
| bytearray sieve, 5M | 112.8 | 120.5 | 0.94 |
| Collatz, integer while loop | 472.5 | 474.8 | 1.00 |
| dict and string formatting | 117.4 | 114.7 | 1.02 |
| method call on an object, 3M | 113.9 | 123.8 | 0.92 |
What this does and doesn't say
These workloads run for 0.05 to 0.5 s, and a tracing JIT needs time to find hot traces and compile them, so short benchmarks are its worst case. The official Python build I used was not a tuned one, and I didn't try longer runs or other JIT settings. So this is not a verdict on the JIT. It says that for a script that runs under a second, setting PYTHON_JIT=1 bought me nothing.
Takeaway: if you want a speedup on this kind of code, free-threading across cores or moving the hot loop into a native library will do far more than the JIT flag, at least on this version. Benchmark code is a few dozen lines of plain Python; method: one machine, median of five alternating runs.