Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework

    Видео с мероприятий {speach!

    15 HN recommenders · recommended in 17 months, 2017–2025

    YouTube

    49:55 · 20K views · Jul 13, 2016

    Armin Ronacher, creator of Flask, explains how CPython's internals and C API leak into the language's semantics. Using examples like the complexity of the add operation, he shows why Python is hard to optimize or reimplement.

    It is HN's standard answer to why Python cannot easily get much faster, and is recommended by people who work on JITs and alternative runtimes.

    Software Engineering & LanguagesPython, Ruby & scripting languagesSoftware performance & optimizationProgramming language design
    1. 42:44
      Armin Ronacher - A Python for Future GenerationsEuroPython Conference6.2K views • 9 years ago
    2. 1:21:39
      Making R run Fast - Jan VitekJohn O'Neill865 views • 10 years ago
    3. 46:10
      Understanding the Python GILDavid Beazley127K views • 14 years ago
    4. 59:11
      How to Speed up a Python Program 114,000 times.InfoQ171K views • 13 years ago
    5. 1:07:41
      Modern Dictionaries by Raymond HettingerSF Python150K views • 9 years ago
    6. 47:51
      Brandt Bucher – A JIT Compiler for CPythonencukou14K views • 2 years ago
    7. 27:29
      Stop Writing ClassesNext Day Video962K views • 14 years ago
    8. 47:34
      RailsConf 2011: Aaron Patterson, "Double Dream Hands: So Intense!"O'Reilly26K views • 15 years ago
    9. 49:54
      The Clean Architecture in PythonNext Day Video114K views • 12 years ago
    10. 34:55
      "Outperforming Imperative with Pure Functional Languages" by Richard FeldmanStrange Loop Conference98K views • 5 years ago
    11. 32:07
      Larry Hastings - Removing Python's GIL: The Gilectomy - PyCon 2016PyCon 201649K views • 10 years ago
    12. 56:55
      Q&A with Guido van Rossum, Inventor of PythonMicrosoft Reactor28K views • 5 years ago
    13. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    14. 1:13:41
      CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"CppCon235K views • 12 years ago
    15. 40:34
      Charlie Marsh: uv: An Extremely Fast Python Package ManagerJane Street108K views • 2 years ago
    16. 1:24:39
      Mojo Lang - Tomorrow's High Performance Python? (with Chris Lattner)Developer Voices64K views • 2 years ago
    17. 52:01
      Why Static Typing Came Back • Richard Feldman • GOTO 2022GOTO Conferences157K views • 3 years ago
    18. 1:02:44
      Chris Seaton @ VMSS16: JRuby+Truffle: Why it’s Important to Optimise the Tricky Partssoftdevteamuk5.1K views • 10 years ago
    19. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    20. 12:31
      OSCON 2010: Rob Pike, "Public Static Void"O'Reilly119K views • 16 years ago

    20 comments from Hacker News

    1. @habermanSep 2021· in “Writing Python Extensions in Assembly”

      Python is difficult to optimize due to complex language semantics. This excellent talk describes how the semantics of the "add" operation are much more complex than generally described. a+b is not just a.__add__(b), you have to read 200+ lines of CPython interpreter code to fully resolve its semantics: this video Not saying it's impossible, but it's more of an uphill battle than optimizing other languages that have more regular semantics. Python is also constrained by its C API, which is a very low-level and exposes a lot of implementation details to C extensions. Changing the API could improve performance but it would also make Python incompatible with a large ecosystem of C extensions. I sometimes wish for Python to define a new C API that exposes far less, and to begin a long-term migration towards the new API so that eventually the interpreter would be less constrained. It would be a large migration, but unlike Python 2 -> 3 it wouldn't affect everyday users, only extension authors. I don't know if it will ever happen, but a person can dream.

      Strongly recommendsView on HN
    2. @arc776Oct 2020· in “Attempts to make Python fast”

      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: this video [LINK]

      Strongly recommendsView on HN
    3. @eigenspaceFeb 2020· in “JuliaLang: The Ingredients for a Composable Programming Language”

      As others have mentioned, Python does have JIT compilers. The problem is that havign a JIT doesn't solve the problem. PyPy is often a factor of 10 behind julia performance and projects like Numba, PyTorch (the PyTorch people had to build their own Python JIT compiler yikes!), etc. will always have a more restricted scope than a project like Julia because Python's very semantics make many optimizations impossible. Here's a great talk from the author of the famous Flask library in Python: this video where he discusses the fundamental problems with Python's semantics. If you fix these problems, you will end up changing Python so fundamentaly that you'll really have a new language. Generic CPython 3._ code will certainly not be compatible with it.

      Strongly recommendsView on HN
    4. @ericfrederichJan 2017· in “Grumpy: Go running Python”

      Python needs a new runtime. This talk shows how bad of shape it's really in. this video Basically, the language doesn't have a "spec" per-se. The language is whatever the defacto CPython implementation happens to do within it's giant eval loop. Another great talk about CPython internals: [LINK]

      Strongly recommendsView on HN
    5. @fault1Jan 2022· in “Faster CPython (2021) [pdf]”

      I thought this presentation by Armin Ronacher (the creator of Flask and Jinja) was very enlightening: How Python was Shaped by leaky Internals(2016): this video See also this HN post (Attempts to make Python fast): [LINK]

      Strongly recommendsView on HN