A detailed examination of Python 3.12’s internal changes featuring the concept of ‘immortal’ objects, for performance enhancements

  • fartsparkles@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    49
    arrow-down
    3
    ·
    edit-2
    1 year ago

    Python isn’t used for the problem space of speed… Try using PHP for data science visualisation. Need a library to solve a problem? Ruby probably doesn’t have it. Need to write a quick script to transform some data? Better spend more time than doing it manually as you accidentally allocate memory incorrectly in C++. Want to scrape a website for some text? Enjoy tonnes of boilerplate and 30 lines of Java vs the three lines of Python.

    Python isn’t about speed, it’s not even about being the best at anything, it’s about being good enough at pretty much any task your average coder needs to pull off in as short a time as possible, all with a single language. Plus, it’s way easier to bounce to another language from Python should you need to (for instance it’s much easier to write a speed-critical component in Go vs the entire application stack in Go - Python has a much lower cognitive load and developers can easily extend or refactor thanks to Pythonic code).

    The amount of Python libraries that are actually written in C is huge and Python makes no attempts to suggest it’s more performant than something like C - why do you think Python bindings even exist?

    Thinking speed is a ding on Python shows a gross lack of knowledge of Python and its purpose.