Talks to Watch

Armin Ronacher - A Python for Future Generations

6K views · Sep 28, 2017 · 42:44 · 4 HN recommenders · 4 mentions · discussed 2017–2020

Armin Ronacher's EuroPython 2017 keynote examining how the CPython interpreter's leaky abstractions affect language design and how Python could evolve, drawing on JavaScript and Rust experience.

Why Hacker News points people here: Recommended for explaining why Python is hard to optimize and the limits of making it fast.

“I highly recommend the two videos posted here”HN comment, 2020

What Hacker News said 4

Strongly recommendsarc776Oct 2020

“I highly recommend the two videos posted here that go into more detail as to why there are limits to how far optimisation can go”

Details why there are limits to how far Python optimisation can go.

Full comment

As the OP states: > mutable interpreter frames, global interpreter locks, shared global state, type slots On top of this, Python is extremely dynamic and nothing can be assured without running through the code. So this leads to needing JITs to improve performance which then give a slow start up time and increased complexity. Even with JIT, Python is just not fast thanks to the above issues and it's overall dynamism. It can be optimised and for sure there's some impressive attempts at doing so. However I don't think pure Python will ever be considered "fast" as these things necessarily get in the way. I highly recommend the two videos posted here that go into more detail as to why there are limits to how far optimisation can go: link this video

in “Attempts to make Python fast” · view on HN
RecommendschubotOct 2017

“This is a good talk about how subtle or crufty the semantics of something like”

Explains the subtle, crufty semantics of Python operations that hinder optimization.

Full comment

As far as I understand, one important difference is that JavaScript doesn't have __getattr__ or __setattr__ (or at least earlier versions didn't). You might not use those hooks a lot in your application code, but it seems that web frameworks and the like do a lot of reflection, which makes the code difficult/impossible to optimize (even at runtime with a JIT). Python also has __add__ (operator overloading) and JavaScript doesn't. This is a good talk about how subtle or crufty the semantics of something like "a+b" is in Python: this video The PyPy developers had to copy a lot of the implementation details of CPython, which doesn't always result in the fastest code.

in “Why Python is Slow: Looking Under the Hood (2014)” · view on HN
RecommendsssivarkAug 2019

“I found interesting a couple of talks by Python veteran Armin Ronacher”

Talk by Python veteran Armin Ronacher on Python's design and future.

Full comment

Python's success is richly deserved. The fact that it has been a long time coming (Python is almost 30 years old!) is an indication of the amount of sheer effort involved, and should give heart for all those working on building up the next generation of languages. Since this forum is likely to have some folks looking towards the future, I found interesting a couple of talks by Python veteran Armin Ronacher [1, 2]. Watching that presentation makes me wonder whether I should think of this in the context of "Worse is better". That said, Python's runtime introspection is such a killer feature that it's difficult to explain how empowering it feels for someone who is relatively new to programming. [1]: How Python was Shaped by leaky Internals -- link [2]: A Python for Future Generations -- this video

RecommendsilyagrOct 2020

“I found the following talks by Armin Romacher very informative on these topics”

Informative on the C API and why Python is harder to speed up than JS.

Full comment

I found the following talks by Armin Romacher very informative on these topics (C API, why python is more difficult to speed up than JS). link this video I wish these were the things Python 3 addressed, rather than Unicode. I guess it's much more obvious in hindsight than back when Python 3 was designed.

in “Attempts to make Python fast” · view on HN