Live data from Hacker News

Python JIT project was asked to pause development

discuss.python.org

31–40 of 105 posts

Re: Python JIT project was asked to pause development

#31

Why was PyPy abandoned and not embraced by Python? NIH?

(PyPy was not abandoned.)

I assume you might mean to ask "why wasn't PyPy adopted in some formal way into CPython" rather than a separate project, for which the answer is at least partially likely to be because it's a completely separate implementation.

Re: Python JIT project was asked to pause development

#33
post #16

Earlier quoted context omitted.

Sure but best case 15% faster clearly isn't worth the complexity of a JIT. It really needs to be at least twice as fast. Pypy pretty much achieves that on average.

15% faster on top of a base interpreter that itself got 40%-50% faster on the same timeframe.

Right... but it's still only 15% faster than a simpler alternative. In a language that is 50x slower than the alternatives. Clearly not worth it.

Of course the counterargument is that they'll improve it and maybe in future it will be 100% faster... But that seems pretty dubious given the progress so far.

Re: Python JIT project was asked to pause development

#34

>> While the intent is not to call for competing proposals, we believe that now is a good time to discuss and propose alternative proposals as well. lol >> For example, rather than proposing one single concrete JIT implementation, it may make more sense for the PEP to describe a JIT infrastructure that can support multiple implementation strategies. poison-pill requirement >> We are setting a window of six months for…

No, it’s a simple request to fully investigate the options before committing a massive piece of work to Python. We’ve seen bad implementations of things land before and now live forever. And frankly, if the team can’t pull together a strong maintenance plan, it can’t be allowed to remain in main.

Re: Python JIT project was asked to pause development

#35
post #7
post #3

Duplicate of here: https://news.ycombinator.com/item?id=48421400

Don't bother clicking, that post got 0 attention. Not helpful, mate.

It is literally the same link, it was the original and it had the correct title rather than the editorialised one here.

At the time I posted it, both were pretty lacking in attention, so it made sense to direct to the earlier of the two.

Re: Python JIT project was asked to pause development

#36

Editorialised title. Development hasn't been paused (with negative implications). It's now considered significant enough that they've requested feature freeze in CPython main until governance/process questions are settled.

It's effectively a pause. In a project the size of CPython, and a subproject the complexity of a JIT, you can't continue work on a separate branch/repo without guaranteeing that there will be a massive amount of (both textual and semantic) merge conflicts down the road.

Re: Python JIT project was asked to pause development

#38
post #22
post #4

Earlier quoted context omitted.

>The experimental JIT was reported to finally breaking even and surpassing the default interpreter just a couple of months ago[1]. Thank You. As someone who don't follow python closely I thought their JIT would be similar to what Ruby has. Not that Ruby YJIT or ZJIT is anywhere close to what JVM provides, but in this case it seems to be quite far ahead of Python. Which is surprising given how many major companies are…

Python software is to a large extent either doing things in not-python (c, c++, rust, etc.) or doing things that are not cpu bound (io bound, async, etc.). If you're cpu bound then you can either take a 2x jit improvement or take a 10x non-python improvement. There's few companies of a scale where the non-hot path cost of 2x cpu is so massive as to be worth caring about.

The python overhead of launching big ML jobs is nontrivial, so I think speeding that up would be meaningful. (I mean the initial tracing and other setup, not things once the GPUs are actually doing the work).

Re: Python JIT project was asked to pause development

#39
post #22
post #4

Earlier quoted context omitted.

>The experimental JIT was reported to finally breaking even and surpassing the default interpreter just a couple of months ago[1]. Thank You. As someone who don't follow python closely I thought their JIT would be similar to what Ruby has. Not that Ruby YJIT or ZJIT is anywhere close to what JVM provides, but in this case it seems to be quite far ahead of Python. Which is surprising given how many major companies are…

Python software is to a large extent either doing things in not-python (c, c++, rust, etc.) or doing things that are not cpu bound (io bound, async, etc.). If you're cpu bound then you can either take a 2x jit improvement or take a 10x non-python improvement. There's few companies of a scale where the non-hot path cost of 2x cpu is so massive as to be worth caring about.

Also you can use projects like numba https://numba.pydata.org/

Re: Python JIT project was asked to pause development

#40

That was kind of overdue. The project started five years ago while massively overpromising. They should perhaps have kept it in a separate branch back then, but now is the next best time. CPython's selling point was that it is simple, fast enough with C extensions and the code was accessible. Complicating the code base for occasional 50% speedups (and regressions ...) just isn't worth it. There are so many other lang…

This hasn't been true for a very long time. Python's major selling points these days are the accessibility of the language and the extensive ecosystem. A vanishingly small fraction of users ever look at the implementation internals. Telling people "if you don't like it, switch to a different language" is particularly unhelpful because rewrites are rather famously expensive. Making things more complicated for the few maintainers, so that they work better for the millions of users, is easily a worthwhile tradeoff.
Post reply on HN