Live data from Hacker News

Python JIT project was asked to pause development

discuss.python.org

81–90 of 105 posts

Re: Python JIT project was asked to pause development

#81
post #77
post #71

Earlier quoted context omitted.

So why did you bring them up…

My words were > So it will join PyPy and GraalPy in the corner. If you cannot understand what that means, I am not a English professor.

I understand your words, I don’t understand why you think they’re relevant to the discussion.

Re: Python JIT project was asked to pause development

#82
post #34

Earlier quoted context omitted.

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.

> We’ve seen bad implementations of things land before and now live forever. Er, doesn't that depend on how leaky the abstraction is? How often have you seen a JITted language be unable to swap in a new JITter due to some sort of unintended coupling?

If it’s so easy then writing a PEP and getting it approved in 6 months will be trivial.

Re: Python JIT project was asked to pause development

#83
post #66
post #34

Earlier quoted context omitted.

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.

> and now live forever. What forever are you talking about? Python removes stuff every single release.

Default list/dict arguments is the one that comes to mind. Yes, I know why it happens, no, it’s still bad because it trips up every beginner.

Re: Python JIT project was asked to pause development

#84
post #81
post #77

Earlier quoted context omitted.

My words were > So it will join PyPy and GraalPy in the corner. If you cannot understand what that means, I am not a English professor.

I understand your words, I don’t understand why you think they’re relevant to the discussion.

Relegated to niche users, just like the other two.

Re: Python JIT project was asked to pause development

#86
post #84
post #81

Earlier quoted context omitted.

I understand your words, I don’t understand why you think they’re relevant to the discussion.

Relegated to niche users, just like the other two.

Except it’s not. The intention of JIT in CPython is to make it into the main branch feature complete. If they can’t get the necessary support then it won’t be relegated to niche uses, it’ll be abandoned and need a new effort to get off the ground.

Not even remotely the same context.

Re: Python JIT project was asked to pause development

#87
post #16

Earlier quoted context omitted.

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.

When I choose Python for something, it is clearly for its speed.

It is nice to have the speed, always. But in Python, it would be a mistake to do it at the expense of flexibility. Same for typing: it is great to have it. I use it. But Python should be dynamic and the rest and extension that does not compromise everything else.

If a JIT can make Python 2 or 3x faster, or even 10x for some workloads, that is nice. But the language itself should support same idioms, reflection, dynamic typing, etc at the same level.

Re: Python JIT project was asked to pause development

#88
post #83
post #66

Earlier quoted context omitted.

> and now live forever. What forever are you talking about? Python removes stuff every single release.

Default list/dict arguments is the one that comes to mind. Yes, I know why it happens, no, it’s still bad because it trips up every beginner.

Why does it happen?

Re: Python JIT project was asked to pause development

#89
post #86
post #84

Earlier quoted context omitted.

Relegated to niche users, just like the other two.

Except it’s not. The intention of JIT in CPython is to make it into the main branch feature complete. If they can’t get the necessary support then it won’t be relegated to niche uses, it’ll be abandoned and need a new effort to get off the ground. Not even remotely the same context.

It certainly is the same context, given the Python culture to ignore JITs, rewrite in C, and call it "Python" libraries.

We have been here several times, versus the other dynamic languages, and it has nothing to do with the usual excuse how dynamic Python happens to be.

Re: Python JIT project was asked to pause development

#90
post #88
post #83

Earlier quoted context omitted.

Default list/dict arguments is the one that comes to mind. Yes, I know why it happens, no, it’s still bad because it trips up every beginner.

Why does it happen?

Default arguments are only evaluated once and assigned the same instance to every call that doesn't specify that argument. So when you assign a new list as a default argument and then append to that list, the next call will already have one element in that list. So what you need to do is have it "None-able" and within the function create a new list.
Post reply on HN